Commit Graph

100693 Commits

Author SHA1 Message Date
Uros Bizjak
ed9955f928 i386.md (unspec): New define_c_enum.
* config/i386/i386.md (unspec): New define_c_enum.
	(unspecv): Ditto.

From-SVN: r160627
2010-06-11 21:01:47 +02:00
Jakub Jelinek
8e680db5b6 cpplib.h (struct cpp_callbacks): Add user_builtin_macro callback.
* include/cpplib.h (struct cpp_callbacks): Add user_builtin_macro
	callback.
	(enum cpp_builtin_type): Add BT_FIRST_USER and BT_LAST_USER.
	(cpp_macro_definition): Remove const qual from second argument.
	* macro.c (enter_macro_context): Call user_builtin_macro callback for
	NODE_BUILTIN !NODE_USED macros.
	(warn_of_redefinition): Likewise.  Remove const qual from second
	argument.
	(cpp_macro_definition): Likewise.
	* pch.c (write_macdef, save_macros): Call user_builtin_macro callback
	for NODE_BUILTIN !NODE_USED macros.

	* c-family/c-cppbuiltin.c: Include cpp-id-data.h.
	(lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
	(lazy_hex_fp_value): New function.
	(builtin_define_with_hex_fp_value): Provide definitions lazily.
	* Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).

From-SVN: r160626
2010-06-11 20:37:34 +02:00
Sebastian Pop
7b14477e38 Fix PR44483: incrementally gimplify BB predicates to avoid redundant computations.
2010-06-11  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/44483
	* tree-if-conv.c (bb_predicate_s): New struct.
	(bb_predicate_p): New.
	(bb_has_predicate): New.
	(bb_predicate): New.
	(set_bb_predicate): New.
	(bb_predicate_gimplified_stmts): New.
	(set_bb_predicate_gimplified_stmts): New.
	(add_bb_predicate_gimplified_stmts): New.
	(init_bb_predicate): New.
	(free_bb_predicate): New.
	(is_predicated): Use bb_predicate.
	(add_to_predicate_list): Use bb_predicate and set_bb_predicate.
	(predicate_bbs): Same.  Gimplify the condition of the basic blocks
	before processing their successors.
	(clean_predicate_lists): Removed.
	(find_phi_replacement_condition): Use bb_predicate.
	(process_phi_nodes): Renamed ifconvert_phi_nodes.  Avoid useless
	computations.
	(insert_gimplified_predicates): New.
	(combine_blocks): Call insert_gimplified_predicates.
	(tree_if_conversion): Call free_bb_predicate instead of
	clean_predicate_lists.

	* gcc.dg/tree-ssa/pr44483.c: New.

From-SVN: r160625
2010-06-11 18:28:17 +00:00
Paul Brook
1021b0e570 arm-neon-1.C: New test.
2010-06-11  Paul Brook  <paul@codesourcery.com>
 
	gcc/testsuite/
	* g++.dg/other/arm-neon-1.C: New test.

From-SVN: r160623
2010-06-11 16:55:42 +00:00
Paul Thomas
92bb7768d3 re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
2010-06-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/42051
	PR fortran/43896
	* trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
	functions with CLASS formal arguments.


2010-06-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/42051
	PR fortran/43896
	* gfortran.dg/class_23.f03: New test.

From-SVN: r160622
2010-06-11 18:45:48 +02:00
Paolo Carlini
b0e788cc09 shared_ptr.h (hash<shared_ptr>): Add.
2010-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (hash<shared_ptr>): Add.
	* include/bits/shared_ptr_base.h (hash<__shared_ptr>): Likewise.
	* include/bits/unique_ptr.h (hash<unique_ptr>): Likewise.
	* testsuite/20_util/shared_ptr/hash/1.cc: New.
	* testsuite/20_util/unique_ptr/hash/1.cc: Likewise.

From-SVN: r160621
2010-06-11 16:20:24 +00:00
Jonathan Wakely
6575ae2160 appendix_contributing.xml: Indent code examples to match original C++STYLE document.
2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/appendix_contributing.xml: Indent code examples
	to match original C++STYLE document. Fix typos and syntax errors.
	Add some basic docbook markup.
	* doc/html/*: Regenerate.

From-SVN: r160620
2010-06-11 17:04:52 +01:00
Paul Brook
f6e47b2614 invoke.texi: Document ARM -mcpu=cortex-m4.
2010-10-11  Paul Brook  <paul@codesourcery.com>
 
	* doc/invoke.texi: Document ARM -mcpu=cortex-m4.
	* config/arm/arm.c (all_architectures): Change v7e-m default to
	cortexm4.
	* config/arm/arm-cores.def: Add cortex-m4.
	* config/arm/arm-tune.md: Regenerate.

From-SVN: r160618
2010-06-11 15:45:39 +00:00
Jonathan Wakely
4f45eb71c2 re PR libstdc++/44268 (abi docs say that hppa-linux defaults to libgcc_s.so.2)
2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44268
	* doc/xml/manual/abi.xml: Fix libgcc version for hppa-linux.

From-SVN: r160617
2010-06-11 16:31:53 +01:00
Jan Hubicka
0a42aa4ed5 ipa-pure-const.c (special_builtlin_state): New function.
* ipa-pure-const.c (special_builtlin_state): New function.
	(check_call): Use it instead of special casign BUILT_IN_RETURN.
	(propagate_pure_const): Use it.

	* gcc.dg/ipa/pure-const-2.c: New testcase.

From-SVN: r160615
2010-06-11 15:12:48 +00:00
Jan Hubicka
f6bcb591f7 Revert accidental commit.
From-SVN: r160614
2010-06-11 15:10:27 +00:00
Jonathan Wakely
cff9004472 tuple (_Swallow_assign::operator=): Add const.
2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/tuple (_Swallow_assign::operator=): Add const.
	(ignore): Replace anonymous namespace member with const instance.

From-SVN: r160613
2010-06-11 16:02:33 +01:00
Jan Hubicka
d725a1a5c0 df-problems.c (df_live_scratch): Convert to bitmap_head.
* df-problems.c (df_live_scratch): Convert to bitmap_head.
	(df_live_alloc): Initialize df_live_scratch when initializing
	problem_data.
	(df_live_transfer_function): Update uses of df_live_scratch.
	(df_live_free): Free problem_data; clear df_live_scratch before
	releasing the obstack.
	(df_md_free): Free problem data.

From-SVN: r160612
2010-06-11 14:33:28 +00:00
Jan Hubicka
7ea6b6cf97 invoke.texi (Wsuggest-attribute): Document.
* doc/invoke.texi (Wsuggest-attribute): Document.
	(Wmissing-noreturn): Remove.
	* ipa-pure-const.c (warn_function_noreturn): New function.
	* opts.c (decode_options): Set warn_suggest_attribute_noreturn on
	warn_missing_noreturn.
	* common.opt (Wsuggest-attribute=noreturn): New.
	* tree-flow.h (warn_function_noreturn): Declare.
	* tree-cfg.c (execute_warn_function_noreturn): Use
	warn_function_noreturn.
	(gate_warn_function_noreturn): New.
	(pass_warn_function_noreturn): Update.

From-SVN: r160606
2010-06-11 12:29:53 +00:00
Manuel López-Ibáñez
2ee3cb3591 c-typeck.c (handle_warn_cast_qual): Add loc parameter.
2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-typeck.c (handle_warn_cast_qual): Add loc
	parameter. Improve warning message.
	(build_c_cast): Pass location to handle_warn_cast_qual.

From-SVN: r160601
2010-06-11 09:43:53 +00:00
Uros Bizjak
3d25c3960b i386.md (pro_epilogue_adjust_stack_1): Assert that operand 0 == operand 1.
* config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
	that operand 0 == operand 1.  Use x86_maybe_negate_const_int to output
	insn mnemonic.
	(pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.

From-SVN: r160600
2010-06-11 11:38:59 +02:00
Dodji Seketeli
b66a8c5da8 Fix MIPS bootstrap
gcc/ChangeLog:
	Fix bootstap on mips
	* dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
	be naming typedefs.

gcc/testsuite/ChangeLog:
	Fix MIPS bootstrap
	* g++.dg/other/typedef4.C: New test.

From-SVN: r160599
2010-06-11 10:19:21 +02:00
Kai Tietz
10d291f61f system.h (helper_const_non_const_cast): New inline for gcc version <= 4.0.
2010-06-11  Kai Tietz  <kai.tietz@onevision.com>

        * system.h (helper_const_non_const_cast): New inline for
        gcc version <= 4.0.
        (CONST_CAST2): For gcc version <= 4.0 use
        new helper to do const/non-const casting.

From-SVN: r160598
2010-06-11 10:14:33 +02:00
Jan Beulich
2aa9a961d4 Add PR reference to 2010-06-10 change to configure.ac.
From-SVN: r160595
2010-06-11 07:02:39 +00:00
Shujing Zhao
2f5b91f52a cp-tree.h (expr_list_kind): New type.
2010-06-11  Shujing Zhao  <pearly.zhao@oracle.com>

        * cp-tree.h (expr_list_kind): New type.
        (impl_conv_rhs): New type.
        (build_x_compound_expr_from_list, convert_for_initialization): Adjust
        prototype.
        (typeck.c (convert_arguments): Use impl_conv_rhs and emit the
        diagnostics for easy translation. Change caller.
        (convert_for_initialization): Use impl_conv_rhs and change caller.
        (build_x_compound_expr_from_list): Use expr_list_kind and emit the
        diagnostics for easy translation. Change caller.
        * decl.c (bad_spec_place): New enum.
        (bad_specifiers): Use it and emit the diagnostics for easy
        translation. Change caller.
        * pt.c (coerce_template_parms): Put the diagnostics in full sentence.

From-SVN: r160591
2010-06-11 03:54:28 +00:00
Janus Weil
66051b6074 re PR fortran/44207 (ICE with ALLOCATABLE components and SOURCE)
2010-06-10  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44207
	* resolve.c (conformable_arrays): Handle allocatable components.


2010-06-10  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44207
	* gfortran.dg/allocate_alloc_opt_7.f90: New test.

From-SVN: r160589
2010-06-11 03:42:38 +02:00
GCC Administrator
328f6bf1de Daily bump.
From-SVN: r160588
2010-06-11 00:17:56 +00:00
Steven G. Kargl
d1d7b04454 resolve.c (resolve_operator): Fix whitespace.
2010-06-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	* resolve.c (resolve_operator): Fix whitespace.

From-SVN: r160584
2010-06-11 00:06:30 +00:00
Peter O'Gorman
f8328d1d9a configure.ac: Set SYSTEMSPEC so that -allow_stack_execute is not passed to the linker for...
* configure.ac: Set SYSTEMSPEC so that -allow_stack_execute is not
passed to the linker for -dynamiclib or -bundle on darwin.
* configure: Regenerate.

From-SVN: r160583
2010-06-10 23:35:31 +00:00
Richard Sandiford
0fe60a1bfa md.texi: Document the "unspec" and "unspecv" enum names.
gcc/
	* doc/md.texi: Document the "unspec" and "unspecv" enum names.
	* Makefile.in (OBJS-common): Include insn-enums.o.
	(insn-enums.o): New rule.
	(simple_generated_c): Add insn-enums.c.
	(build/genenums.o): New rule.
	(genprogmd): Add "enums".
	* genconstants.c (print_enum_type): Declare a C string array
	for each enum.
	* genenums.c: New file.
	* print-rtl.c (print_rtx): If defined, use the "unspecv" enum
	for UNSPEC_VOLATILE.  If defined, use the "unspec" enum for both
	UNSPEC and (as a fallback) for UNSPEC_VOLATILE.

From-SVN: r160582
2010-06-10 20:24:45 +00:00
Richard Sandiford
8f4fe86cd1 md.texi (define_enum_attr): Document.
gcc/
	* doc/md.texi (define_enum_attr): Document.
	* rtl.def (DEFINE_ENUM_ATTR): New rtx.
	* read-md.h (lookup_enum_type): Declare.
	* read-md.c (lookup_enum_type): New function.
	* genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
	* genattrtab.c (attr_desc): Add an enum_name field.
	(evaluate_eq_attr): Take the associated attribute as argument.
	Get the enum prefix from the enum_name field, if defined.
	Use ACONCAT rather than a fixed-length buffer.  Update recursive calls.
	(simplify_test_exp): Pass attr to evaluate_eq_attr.
	(add_attr_value): New function, split out from...
	(gen_attr): ...here.  Handle DEFINE_ENUM_ATTR.
	(write_test_expr): Pass attr to evaluate_eq_attr.
	(write_attr_get): Use the enum_name as the enum tag, if defined.
	(write_attr_valueq): Use the enum_name as a prefix, if defined.
	(find_attr): Initialize enum_name.
	(main): Handle DEFINE_ENUM_ATTR.
	* gensupport.c (process_rtx): Likewise.
	* config/mips/mips.h (mips_tune_attr): Delete.
	* config/mips/mips.md (cpu): Use define_attr_enum.

From-SVN: r160581
2010-06-10 20:24:17 +00:00
Richard Sandiford
24609606bd md.texi (define_c_enum, [...]): Document.
gcc/
	* doc/md.texi (define_c_enum, define_enum): Document.
	* read-md.h (md_constant): Add a parent_enum field.
	(enum_value, enum_type): New structures.
	(upcase_string, traverse_enum_types): Declare.
	* read-md.c (enum_types): New variable.
	(upcase_string, add_constant): New functions.
	(handle_constants): Don't create the hash table here.
	Use add_constant.
	(traverse_md_constants): Don't check for a null md_constants.
	(decimal_string, handle_enum, traverse_enum_types): New functions.
	(read_md_files): Initialize md_constants and md_enums.
	* genconstants.c (print_md_constant): Ignore info argument.
	Only print constants that belong to no enum.
	(print_enum_type): New function.
	(main): Don't pass stdout to print_md_constant.  Call print_enum_type
	for each defined enum type.
	* config/mips/mips.md (processor): New define_enum.
	(unspec): New define_c_enum.
	(UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
	(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
	(UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
	(UNSPEC_MEMORY_BARRIER): Moved to sync.md.
	(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
	(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
	(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
	(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
	(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
	(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
	(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
	(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
	(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
	(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
	(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
	(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
	(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
	(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
	(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
	(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
	(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
	(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
	(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
	(UNSPEC_RDDSP): Move to mips-dsp.md.
	(UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
	(UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
	(UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
	(UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
	(UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
	(UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
	(UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
	(UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
	(UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
	(UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
	(UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
	(UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
	(UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
	Moved to mips-dspr2.md.
	(UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
	(UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
	(UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
	(UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Moved from mips-ps-3d.md.
	(UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
	(UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
	(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
	(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
	(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
	(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
	(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
	(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
	(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
	(UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
	(UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved to mips-loongson2ef.md.
	(cpu): Update comment.
	* config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
	(UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
	(UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
	(UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
	* config/mips/loongson.md (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ)
	(UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
	(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
	(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
	(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
	(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
	(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
	(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
	(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
	(UNSPEC_LOONGSON_PSUBD): Moved from mips.md
	* config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
	* config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
	(UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
	(UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
	(UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
	(UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
	(UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
	(UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
	(UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
	(UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
	(UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
	(UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
	(UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
	(UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
	(UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
	(UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
	(UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
	(UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
	(UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
	(UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
	(UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
	(UNSPEC_RDDSP): Moved from mips.md.
	* config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
	(UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
	(UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
	(UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
	(UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
	(UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
	(UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
	(UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
	(UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
	(UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
	(UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
	(UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
	(UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
	(UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
	* config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
	(UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
	(UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
	(UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
	(UNSPEC_SCC): Moved from mips.md.
	* config/mips/mips.c (mips_arch, mips_tune): Change enum from
	"processor_type" to "processor".
	(mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
	* config/mips/mips.h (processor_type): Delete.
	(mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
	"processor_type" to "processor".

From-SVN: r160580
2010-06-10 20:24:01 +00:00
Richard Sandiford
c513ce776c configure.ac (tm_include_list): Add insn-constants.h.
gcc/
	* configure.ac (tm_include_list): Add insn-constants.h.
	* configure: Regenerate.
	* Makefile.in (GTM_H): Move insn-constants.h here from...
	(TM_H): ...here.
	* mkconfig.sh: Remove special handling for insn-constants.h.

From-SVN: r160579
2010-06-10 20:23:43 +00:00
Richard Sandiford
9b68b6ea7f Makefile.in (BUILD_RTL): Move build/read-md.o to...
gcc/
	* Makefile.in (BUILD_RTL): Move build/read-md.o to...
	(BUILD_MD): ...this new variable.
	(simple_generated_rtl_h, simple_generated_rtl_c): New variables
	that include the old contents of simple_generated_h and
	simple_generated_c.
	(simple_generated_h, simple_generated_c): Include them.  Add
	insn-constants.h.
	(s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
	and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
	Remove these dependencies from the main rule and include
	insn-conditions.md in the command line only if it appears
	in the dependency list.
	(insn-constants.h, s-constants): Delete.
	(build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
	or gensupport.h.
	(build/genmddeps.o): Likewise.
	(genprogrtl): New variable that contains everything from genprogmd
	except mddeps and constants.
	(genprogmd): Redefine in terms of genprogrtl.  Make these programs
	depend on $(BUILD_MD)
	(genprog): New variable.  Make these programs depend on
	$(BUILD_ERRORS).
	* genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
	(main): Use read_md_files instead of init_rtx_reader_args.
	* genconstants.c: As for genmddeps.c.
	* read-md.h (read_skip_construct): Declare.
	* read-md.c (read_skip_construct): New function.
	(handle_file): Allow a null handle_directive, skipping the
	construct if so.
	(parse_include): Update the comment accordingly.

From-SVN: r160578
2010-06-10 20:23:23 +00:00
Richard Sandiford
600ab3fcfa Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
gcc/
	* Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
	* genmddeps.c: Include read-md.h.
	(main): Call init_rtx_reader_args instead of init_md_reader_args.
	* genattr.c (main): Likewise.
	* genattrtab.c (main): Likewise.
	* genautomata.c (main): Likewise.
	* gencodes.c (main): Likewise.
	* genconditions.c (main): Likewise.
	* genconfig.c (main): Likewise.
	* genconstants.c (main): Likewise.
	* genemit.c (main): Likewise.
	* genextract.c (main): Likewise.
	* genflags.c (main): Likewise.
	* genopinit.c (main): Likewise.
	* genoutput.c (main): Likewise.
	* genpeep.c (main): Likewise.
	* genrecog.c (main): Likewise.
	* genpreds.c (main): Likewise.
	* gensupport.h (in_fname): Move to read-md.h.
	(init_md_reader_args_cb): Rename to...
	(init_rtx_reader_args_cb): ...this and return a bool.
	(init_md_reader_args): Rename to...
	(init_rtx_reader_args): ...this and return a bool.
	(include_callback): Move to read-md.h.
	* gensupport.c (in_fname, include_callback, base_dir, max_include_len)
	(file_name_list, first_dir_md_include): Move to read-md.c
	(first_bracket_include): Delete unused variable.
	(last_dir_md_include): Move to read-md.c.
	(process_include): Delete, moving code to read-md.c:handle_include.
	(process_rtx): Don't handle INCLUDE.
	(save_string): Delete.
	(rtx_handle_directive): New function.
	(init_md_reader_args_cb): Rename to...
	(init_rtx_reader_args_cb): ...this and return a boolean success value.
	Use read_md_args.
	(init_md_reader_args): Rename to...
	(init_rtx_reader_args): ...this and return a boolean success value.
	* rtl.def (INCLUDE): Delete.
	* rtl.h (read_rtx): Remove "int *" argument.  Add "const char *"
	argument.
	* read-rtl.c (read_conditions): Don't gobble ')' here.
	(read_mapping): Likewise.
	(read_rtx): Remove LINENO argument.  Add RTX_NAME argument.
	Handle top-level non-rtx constructs here rather than in read_rtx_1.
	Store the whole queue in *X.  Remove call to init_md_reader.
	(read_rtx_1): Rename to...
	(read_rtx_code): ...this.  Call read_nested_rtx to read subrtxes.
	Don't handle top-level non-rtx constructs here.  Don't handle (nil)
	here.
	(read_nested_rtx): New function.  Handle (nil) here rather than
	in read_rtx_code.
	(read_rtx_variadic): Call read_nested_rtx to read subrtxes.  Don't
	gobble ')' here.
	* read-md.h (directive_handler_t): New type.
	(in_fname, include_callback): Moved from read-md.h.
	(read_constants, init_md_reader): Delete.
	(read_md_files): Declare.
	* read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
	(last_dir_md_include_ptr, include_callback, max_include_len): Moved
	from gensupport.c.
	(read_constants): Rename to...
	(handle_constants): ...this.  Don't gobble ')' here.
	(handle_include, handle_file, handle_toplevel_file)
	(parse_include): New functions, mostly taken from gensupport.c.
	(init_md_reader): Subsume into...
	(read_md_files): ...this new function.

From-SVN: r160577
2010-06-10 20:23:13 +00:00
Richard Sandiford
7f7c467fed read-md.h (read_char): Increment read_md_lineno after reading '\n'.
gcc/
	* read-md.h (read_char): Increment read_md_lineno after reading '\n'.
	(unread_char): Decrement read_md_lineno after putting back '\n'.
	* read-md.c (fatal_with_file_and_line): Push back any characters
	that we decide not to add to the context.
	(read_skip_spaces): Don't increment read_md_lineno here.  Avoid using
	fatal_expected_char in cases where '/' ends a line (for example).
	(read_name): Don't increment read_md_lineno here.
	(read_escape): Likewise.
	(read_quoted_string): Likewise.
	(read_braced_string): Likewise.

From-SVN: r160576
2010-06-10 20:23:00 +00:00
Richard Sandiford
9f418533f2 Makefile.in (READ_MD_H): Add $(HASHTAB_H).
gcc/
	* Makefile.in (READ_MD_H): Add $(HASHTAB_H).
	(build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
	* genconstants.c: Include read-md.h.
	* read-rtl.c (md_constants): Move to read-md.c.
	(md_name): Move to read-md.h.
	(initialize_iterators): Use leading_string_hash instead of def_hash
	and leading_string_eq_p instead of def_name_eq_p.
	(read_name): Move to read-md.c.
	(def_hash, def_name_eq_p): Delete.
	(read_constants, traverse_md_constants): Move to read-md.c.
	* rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
	* read-md.h: Include hashtab.h.
	(md_name): Moved from read-rtl.c.
	(md_constant): Moved from read-md.h.
	(leading_string_hash, leading_string_eq_p, read_name)
	(read_constants, traverse_md_constants): Declare.
	* read-md.c (md_constants): Moved from read-rtl.c.
	(leading_string_hash, leading_string_eq_p): New functions.
	(read_name, read_constants, traverse_md_constants): Moved from
	read-rtl.c.

From-SVN: r160575
2010-06-10 20:22:49 +00:00
Richard Sandiford
82f8e3fd2e read-rtl.c (md_name): New structure.
gcc/
	* read-rtl.c (md_name): New structure.
	(read_name): Take an md_name instead of a buffer pointer.
	Use the "string" field instead of strcpy when expanding constants.
	(read_constants): Remove the tmp_char argument.  Update the calls
	to read_name, using two local name buffers instead of the tmp_char
	argument.  Merge the constant-creation code.
	(read_conditions): Remove the tmp_char argument.  Update the calls
	to read_name, using a local name buffer instead of the tmp_char
	argument.
	(read_mapping): Replace tmp_char variable with a local name buffer.
	Update the calls to read_name.
	(read_rtx_1): Likewise.  Update the calls to read_constants and
	read_conditions.

From-SVN: r160574
2010-06-10 20:22:21 +00:00
Richard Sandiford
bb933490c3 Makefile.in (build/read-md.o): Depend on errors.h.
gcc/
	* Makefile.in (build/read-md.o): Depend on errors.h.
	* read-md.h (error_with_line): Declare.
	* read-md.c: Include errors.h.
	(message_with_line_1): New function, extracted from...
	(message_with_line): ...here.
	(error_with_line): New function.
	* genattrtab.c: If a call to message_with_line is followed by
	"have_error = 1;", replace both statements with a call to
	error_with_line.
	* genoutput.c: Likewise.
	* genpreds.c: Likewise.
	* genrecog.c: If a call to message_with_line is followed by
	"error_count++;", replace both statements with a call to
	error_with_line.
	(errorcount): Delete.
	(main): Don't check it.
	* gensupport.c: If a call to message_with_line is followed by
	"errors = 1;", replace both statements with a call to error_with_line.
	(errors): Delete.
	(process_define_cond_exec): Check have_error instead of errors.
	(init_md_reader_args_cb): Likewise.  Don't set errors.

From-SVN: r160573
2010-06-10 20:21:59 +00:00
Richard Sandiford
c5e88b399c read-md.h (read_md_file): Declare.
gcc/
	* read-md.h (read_md_file): Declare.
	(read_char, unread_char): New functions.
	(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
	(read_quoted_string, read_string): Remove FILE * argument.
	* read-md.c (read_md_file): New variable.
	(read_md_filename, read_md_lineno): Update comments and remove
	unnecessary initialization.
	(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
	(read_escape, read_quoted_string, read_braced_string, read_string):
	Remove FILE * argument.  Update calls accordingly, using read_char
	and unread_char instead of getc and ungetc.
	* rtl.h (read_rtx): Remove FILE * argument.
	* read-rtl.c (iterator_group): Remove FILE * argument from
	"find_builtin".
	(iterator_traverse_data): Remove "infile" field.
	(find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
	(add_mapping, read_name, read_constants, read_conditions)
	(validate_const_int, find_iterator, read_mapping, check_code_iterator)
	(read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
	Remove file arguments from all calls, using read_char and unread_char
	instead of getc and ungetc.
	* gensupport.c (process_include): Preserve read_md_file around
	the include.  Set read_md_file to the handle of the included file.
	Update call to read_rtx.
	(init_md_reader_args_cb): Set read_md_file to the handle of the file
	and remove local FILE *.  Update calls to read_rtx.

From-SVN: r160572
2010-06-10 20:21:44 +00:00
Richard Sandiford
d2a3ce4e33 read-md.h (read_rtx_lineno): Rename to...
gcc/
	* read-md.h (read_rtx_lineno): Rename to...
	(read_md_lineno): ...this.
	(read_rtx_filename): Rename to...
	(read_md_filename): ...this.
	(copy_rtx_ptr_loc): Rename to...
	(copy_md_ptr_loc): ...this.
	(print_rtx_ptr_loc): Rename to...
	(print_md_ptr_loc): ...this.
	* read-md.c: Likewise.  Update references after renaming.
	(string_obstack): Replace RTL with MD in comment.
	(set_rtx_ptr_loc): Rename to...
	(set_md_ptr_loc): ...this.
	(get_rtx_ptr_loc): Rename to...
	(get_md_ptr_loc): ...this.
	* genconditions.c: Update references after renaming.
	* genemit.c: Likewise.
	* genoutput.c: Likewise.
	* genpreds.c: Likewise.
	* gensupport.c: Likewise.
	* read-rtl.c: Likewise.

From-SVN: r160571
2010-06-10 20:21:35 +00:00
Richard Sandiford
1069247787 Makefile.in (READ_MD_H): New variable.
gcc/
	* Makefile.in (READ_MD_H): New variable.
	(BUILD_RTL): Add build/read-md.o.
	(lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
	(build/gensupport.o, build/read-rtl.o, build/genattr.o)
	(build/genattrtab.o, build/genconditions.o build/genemit.o)
	(build/genextract.o, build/genflags.o, build/genoutput.o)
	(build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
	(build/read-md.o): New rule.
	* defaults.h (obstack_chunk_alloc, obstack_chunk_free)
	(OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
	* coretypes.h: ...here.
	* lto-wrapper.c: Include coretypes.h instead of defaults.h.
	* pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
	* genattr.c: Include read-md.h.
	* genattrtab.c: Likewise.
	* genconditions.c: Likewise.
	* genemit.c: Likewise.
	* genextract.c: Likewise.
	* genflags.c: Likewise.
	* genoutput.c: Likewise.
	* genpreds.c: Likewise.
	* genrecog.c: Likewise.
	* rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
	(join_c_conditions, print_c_condition, read_rtx_filename)
	(read_rtx_lineno): Move to read-md.h.
	* read-rtl.c: Include read-md.h.
	(ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
	(joined_conditions, joined_conditions_obstack, read_rtx_lineno)
	(read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
	(copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
	(print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
	(read_braced_string, read_string): Move to read-md.c.
	(read_rtx): Move some initialization to init_md_reader and call
	init_md_reader here.
	* gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
	Move to read-md.h.
	* gensupport.c: Include read-md.h.
	(message_with_line, n_comma_elts, scan_comma_elt): Move to
	read-md.c.
	* read-md.h, read-md.c: New files.

From-SVN: r160570
2010-06-10 20:21:23 +00:00
Francois-Xavier Coudert
f14b9067c9 re PR fortran/38273 (Cray pointers: Document that pointers cannot be function return values)
PR fortran/38273
	* gfortran.texi: Document that Cray pointers cannot be function
	results.

	PR fortran/36234
	* gfortran.texi: Document lack of support for syntax
	"complex FUNCTION name*16()", and existence of alternative
	legacy syntax "complex*16 FUNCTION name()".

From-SVN: r160569
2010-06-10 20:02:39 +00:00
Francois-Xavier Coudert
da12c99723 re PR fortran/43032 (FLUSH: Document that it does not call fsync() but fflush())
PR fortran/43032
	* intrinsic.texi (FLUSH): Note the difference between FLUSH and
	POSIX's fsync(), and how to call the latter from Fortran code.

From-SVN: r160568
2010-06-10 19:14:12 +00:00
Daniel Franke
84efddb200 re PR fortran/44457 (Missing ASYNCHRONOUS constraint check)
gcc/fortran/:
2010-06-10  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/44457
	* interface.c (compare_actual_formal): Reject actual arguments with
	array subscript passed to ASYNCHRONOUS dummys.

gcc/testsuite/:
2010-06-10  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/44457
	* gfortran.dg/asynchronous_3.f03

From-SVN: r160567
2010-06-10 14:25:56 -04:00
Changpeng Fang
da604ebda9 Fix PR44185: prefetch test failures.
2010-06-10  Changpeng Fang  <changpeng.fang@amd.com>

	PR middle-end/44185
	* gcc.dg/tree-ssa/prefetch-7.c: take the loops that will generate
	non-temporal stores out of the tests to form new test cases.  As a
	result, no non-temporal store should be generated in this case.

	* gcc.dg/tree-ssa/prefetch-8.c: New.  Test from original
	prefetch-7.c that generate one non-temporal store.

	* gcc.dg/tree-ssa/prefetch-9.c: New.  Test from original
	prefetch-7.c that generate one non-temporal store and one
	one-temporal prefetch.

From-SVN: r160566
2010-06-10 17:54:39 +00:00
Anatoly Sokolov
feab9982bb moxie.h (FUNCTION_VALUE, [...]): Remove macros.
* config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
	LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
	* config/moxie/moxie-protos.h (moxie_function_value): Remove.
	* config/moxie/moxie.c (moxie_function_value): Make static.
	(moxie_libcall_value, moxie_function_value_regno_p): New functions.
	(TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.

From-SVN: r160565
2010-06-10 21:30:32 +04:00
Martin Jambor
567a4beb36 Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
2010-06-10  Martin Jambor  <mjambor@suse.cz>

	* Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
	* dbgcnt.def (tree_sra): New counter.
	* tree-sra.c: Include dbgcnt.h.
	(gate_intra_sra): Check tree_sra debug counter.

From-SVN: r160562
2010-06-10 18:51:20 +02:00
Martin Jambor
591d4f4a63 re PR tree-optimization/44258 (possible SRA wrong-code generation.)
2010-06-10  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44258
	* tree-sra.c (build_access_subtree): Return false iff there is a
	partial overlap.
	(build_access_trees): Likewise.
	(analyze_all_variable_accesses): Disqualify candidates if
	build_access_trees returns true for them.

	* testsuite/gcc.dg/tree-ssa/pr44258.c: New test.

From-SVN: r160561
2010-06-10 18:49:09 +02:00
Alexandre Oliva
c63a4676a8 Makefile.def (configure-gcc): Depend on all-libelf.
* Makefile.def (configure-gcc): Depend on all-libelf.
* Makefile.in: Rebuild.

From-SVN: r160560
2010-06-10 16:44:04 +00:00
Alexandre Oliva
b933b33a18 re PR debug/41371 (var-tracking is slow and memory hungry)
PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Remove recursion, only
tail-recurse into canonical node.  Fast-forward over
non-canonical VALUEs.

From-SVN: r160559
2010-06-10 16:43:46 +00:00
Paolo Bonzini
0c179631b2 override.m4: Remove obsolete (<2.64) definitions.
2010-06-10  Paolo Bonzini  <bonzini@gnu.org>

	* override.m4: Remove obsolete (<2.64) definitions.

From-SVN: r160558
2010-06-10 16:09:23 +00:00
H.J. Lu
ff534e89fe Revert the part of r160394 to fix bootstap with --with-arch=atom.
2010-06-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR boostrap/44470
	* config/i386/i386.md (*add<mode>_1): Revert revision 160394.
	(*addsi_1_zext) <TYPE_LEA>: Likewise.
	(add lea splitter): Likewise.
	(add_zext lea splitter): Likewise.

From-SVN: r160557
2010-06-10 09:00:31 -07:00
Jakub Jelinek
9c4d7e5294 re PR other/43838 (Incorrect output from abi::__cxa_demangle)
PR other/43838
	* cp-demangle.c (struct d_print_info): Add flush_count field.
	(d_print_init): Initialize it to 0.
	(d_print_flush): Increment it.
	(d_print_comp): If needed flush before appending ", ".  Only
	decrement dpi->len if no flushes happened during the recursive
	call.
	* testsuite/demangle-expected: Add a test for this.

From-SVN: r160554
2010-06-10 17:15:18 +02:00
Joseph Myers
1cb4261144 common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
gcc:
	* common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.

gcc/c-family:
	* c-opts.c (c_common_handle_option): Don't handle
	OPT_fshow_column.

libcpp:
	* include/cpplib.h (struct cpp_options): Remove show_column.
	* init.c (cpp_create_reader, post_options): Don't set show_column.

From-SVN: r160553
2010-06-10 16:10:11 +01:00