Nathan Froyd [Thu, 14 Apr 2011 15:13:26 +0000 (15:13 +0000)]
cp-tree.def (FOR_STMT, [...]): Add an extra operand.
* cp-tree.def (FOR_STMT, RANGE_FOR_STMT): Add an extra operand.
* cp-objcp-common.c (cp_common_init_ts): Mark them as TS_TYPED.
* cp-tree.h (FOR_SCOPE, RANGE_FOR_SCOPE): Define.
* semantics.c (begin_for_stmt): Pass an extra arg to build_stmt.
Use FOR_SCOPE instead of TREE_CHAIN.
(begin_range_for_stmt): Likewise, with RANGE_FOR_SCOPE.
(finish_for_stmt): Likewise.
From-SVN: r172436
Jason Merrill [Thu, 14 Apr 2011 15:00:24 +0000 (11:00 -0400)]
parser.c (cp_parser_postfix_expression): Fix flags passed to build_new_method_call.
* parser.c (cp_parser_postfix_expression): Fix flags passed to
build_new_method_call.
* semantics.c (finish_call_expr): Likewise.
From-SVN: r172435
Jason Merrill [Thu, 14 Apr 2011 15:00:15 +0000 (11:00 -0400)]
re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
PR c++/48531
* init.c (build_value_init_noctor): Check complain consistently.
From-SVN: r172434
Jason Merrill [Thu, 14 Apr 2011 15:00:07 +0000 (11:00 -0400)]
re PR c++/48557 ([C++0x][SFINAE] Hard errors with void as operand of binary built-in operators)
PR c++/48557
* typeck.c (cp_build_binary_op): Don't decay void operands.
From-SVN: r172433
Jason Merrill [Thu, 14 Apr 2011 14:59:58 +0000 (10:59 -0400)]
re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946)
PR c++/48446
* decl.c (compute_array_index_type): Use get_temp_regvar instead
of variable_size.
* init.c (get_temp_regvar): No longer static.
* cp-tree.h: Declare it.
From-SVN: r172432
Richard Guenther [Thu, 14 Apr 2011 13:38:33 +0000 (13:38 +0000)]
tree-ssa-dse.c (struct dse_global_data, [...]): Remove.
2011-04-14 Richard Guenther <rguenther@suse.de>
* tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
Remove.
(dse_initialize_block_local_data, dse_leave_block,
record_voperand_set, get_stmt_uid): Likewise.
(dse_possible_dead_store_p): Allow any kind of killing stmt.
(dse_optimize_stmt): Remove voperand set handling code.
Simplify and improve to handle any kind of killing stmt.
(dse_record_phi): Remove.
(dse_enter_block): Simplify.
(tree_ssa_dse): Likewise.
* tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
* gcc.dg/tree-ssa/ssa-dse-14.c: New testcase.
From-SVN: r172431
Jan Hubicka [Thu, 14 Apr 2011 13:26:44 +0000 (15:26 +0200)]
cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.h (struct inline_summary): Move to ipa-inline.h
(cgraph_local_info): Remove inline_summary.
* ipa-cp.c: Include ipa-inline.h.
(ipcp_cloning_candidate_p, ipcp_estimate_growth,
ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
accesor.
* lto-cgraph.c (lto_output_node): Do not stream inline summary.
(input_overwrite_node): Do not set inline summary.
(input_node): Do not stream inline summary.
* ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
(cgraph_decide_inlining_incrementally): Do not try to estimate overall
growth; we do not have inline parameters computed for that anyway.
(cgraph_early_inlining): After inlining compute call_stmt_sizes.
* ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
(inline_summary_t): New type and VECtor.
(debug_inline_summary, dump_inline_summaries): Declare.
(inline_summary): Use VOCtor.
(estimate_edge_growth): Kill hack computing call stmt size directly.
* lto-section-in.c (lto_section_name): Add inline section.
* ipa-inline-analysis.c: Include lto-streamer.h
(node_removal_hook_holder, node_duplication_hook_holder): New holders
(inline_node_removal_hook, inline_node_duplication_hook): New functions.
(inline_summary_vec): Define.
(inline_summary_alloc, dump_inline_summary, debug_inline_summary,
dump_inline_summaries): New functions.
(estimate_function_body_sizes): Properly compute size/time of outgoing calls.
(compute_inline_parameters): Alloc inline_summary; do not compute size/time
of incomming calls.
(estimate_edge_time): Avoid missing time summary hack.
(inline_read_summary): Read inline summary info.
(inline_write_summary): Write inline summary info.
(inline_free_summary): Free all hooks and inline summary vector.
* lto-streamer.h: Add LTO_section_inline_summary section.
* Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
* ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
* lto.c: Include ipa-inline.h
(add_cgraph_node_to_partition, undo_partition): Use inline_summary accessor.
(ipa_node_duplication_hook): Fix declaration.
* Make-lang.in (lto.o): Update dependencies.
From-SVN: r172430
Richard Sandiford [Thu, 14 Apr 2011 12:47:16 +0000 (12:47 +0000)]
tree-vectorizer.h (vect_strided_store_supported): Add a HOST_WIDE_INT argument.
gcc/
* tree-vectorizer.h (vect_strided_store_supported): Add a
HOST_WIDE_INT argument.
(vect_strided_load_supported): Likewise.
(vect_permute_store_chain): Return void.
(vect_transform_strided_load): Likewise.
(vect_permute_load_chain): Delete.
* tree-vect-data-refs.c (vect_strided_store_supported): Take a
count argument. Check that the count is a power of two.
(vect_strided_load_supported): Likewise.
(vect_permute_store_chain): Return void. Update after above changes.
Assert that the access is supported.
(vect_permute_load_chain): Likewise.
(vect_transform_strided_load): Return void.
* tree-vect-stmts.c (vectorizable_store): Update calls after
above interface changes.
(vectorizable_load): Likewise.
(vect_analyze_stmt): Don't check for strided powers of two here.
From-SVN: r172428
Richard Guenther [Thu, 14 Apr 2011 12:19:28 +0000 (12:19 +0000)]
re PR middle-end/48590 (Alias analysis confused by builtin-stack-save/restore)
2011-04-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48590
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
(call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
BUILT_IN_STACK_SAVE.
* tree-ssa-dce.c (propagate_necessity): Handle
BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
From-SVN: r172427
Nicola Pero [Thu, 14 Apr 2011 12:12:55 +0000 (12:12 +0000)]
In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_parser_objc_class_declaration): Updated call to
objc_declare_class.
In gcc/c-family/:
2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
* stub-objc.c (objc_declare_class): Updated argument name.
In gcc/cp/:
2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_class_declaration): Updated for change
in objc_declare_class().
In gcc/objc/:
2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_declare_class): Changed to take a single
identifier as argument instead of a tree list. This means callers
don't have to build temporary tree lists to call this function.
(synth_module_prologue): Updated calls to objc_declare_class.
From-SVN: r172425
Richard Guenther [Thu, 14 Apr 2011 12:07:57 +0000 (12:07 +0000)]
tree.h (get_object_alignment_1): Declare.
2011-04-14 Richard Guenther <rguenther@suse.de>
* tree.h (get_object_alignment_1): Declare.
* builtins.c (get_object_alignment_1): Split out worker from ...
(get_object_alignment): ... here.
* fold-const.c (get_pointer_modulus_and_residue): Use
get_object_alignment_1.
* gcc.dg/fold-bitand-4.c: Move ...
* c-c++-common/fold-bitand-4.c: ... here. Adjust slightly.
From-SVN: r172424
Richard Sandiford [Thu, 14 Apr 2011 11:54:43 +0000 (11:54 +0000)]
tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra type parameter.
gcc/
* tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
type parameter.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
parameter. Generalise code to handle arrays as well as vectors.
(vect_setup_realignment): Update accordingly.
* tree-vect-stmts.c (vectorizable_store): Likewise.
(vectorizable_load): Likewise.
From-SVN: r172423
Richard Sandiford [Thu, 14 Apr 2011 11:54:30 +0000 (11:54 +0000)]
tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain within the per-copy loop.
gcc/
* tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
within the per-copy loop.
From-SVN: r172422
Richard Sandiford [Thu, 14 Apr 2011 11:54:11 +0000 (11:54 +0000)]
Fix email attribution in last commits.
From-SVN: r172421
Richard Sandiford [Thu, 14 Apr 2011 11:53:02 +0000 (11:53 +0000)]
tree-vect-stmts.c (vectorizable_load): Print the number of copies in the dump file.
gcc/
* tree-vect-stmts.c (vectorizable_load): Print the number of copies
in the dump file.
From-SVN: r172420
Richard Sandiford [Thu, 14 Apr 2011 11:52:17 +0000 (11:52 +0000)]
options.texi (Negative): Explicitly mention that the Negative chain must be circular.
gcc/
* doc/options.texi (Negative): Explicitly mention that the
Negative chain must be circular.
From-SVN: r172419
Nathan Froyd [Thu, 14 Apr 2011 11:18:40 +0000 (11:18 +0000)]
utils.c (gnat_poplevel): Use block_chainon.
gcc/ada/
* gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
gcc/
* function.h (block_chainon): Declare.
* function.c (block_chainon): Define.
gcc/cp/
* decl.c (poplevel): Use block_chainon.
gcc/fortran//
* f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
gcc/java/
* decl.c (poplevel): Use BLOCK_CHAIN and block_chainon.
From-SVN: r172418
Georg-Johann Lay [Thu, 14 Apr 2011 10:38:17 +0000 (10:38 +0000)]
trivial.c: Fix line endings.
* gcc.target/avr/trivial.c: Fix line endings. Make PROGMEM
variables const.
* gcc.target/avr/torture/trivial.c: Ditto.
From-SVN: r172417
Anatoly Sokolov [Thu, 14 Apr 2011 09:24:34 +0000 (13:24 +0400)]
avr.c: ("insn-codes.h"...
* config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"):
New Includes
(avr_init_builtins, avr_expand_builtin,
avr_expand_delay_cycles, avr_expand_unop_builtin,
avr_expand_binop_builtin ): New functions.
(avr_builtin_id): New enum
(struct avr_builtin_description): New struct
(bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
* config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
UNSPECV_DELAY_CYCLES): new enumeration values
(UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
("*rotlqi3_4"): rename insn to "rotlqi3_4"
("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
"delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
"fmulsu"): New insns
* config/avr/avr-c.c: fix line endings
(avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
__BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
__BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
__BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
__BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
* doc/extend.texi (AVR Built-in Functions): New node
(Target Builtins): Add documentation of AVR
built-in functions.
Co-Authored-By: Eric Weddington <eric.weddington@atmel.com>
Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>
From-SVN: r172416
Georg-Johann Lay [Thu, 14 Apr 2011 08:38:20 +0000 (08:38 +0000)]
re PR target/44643 ([avr] ICE in c-typeck.c)
PR target/44643
* config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
alone. Error if non-const data has attribute progmem.
From-SVN: r172415
Nathan Froyd [Thu, 14 Apr 2011 01:38:07 +0000 (01:38 +0000)]
tree.h (struct tree_constructor): Include tree_typed instead of tree_common.
* tree.h (struct tree_constructor): Include tree_typed instead of
tree_common.
* tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
TS_TYPED instead of TS_COMMON.
From-SVN: r172409
GCC Administrator [Thu, 14 Apr 2011 00:17:45 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r172408
Uros Bizjak [Wed, 13 Apr 2011 23:43:52 +0000 (01:43 +0200)]
sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
* config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
(*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
(sse2_psadbw): Merge with *avx_psadbw.
(ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
(ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
(ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
(ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
(ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
(ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
(ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
(*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
(ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
(ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
(ssse3_palignrti): Merge with *avx_palignrti.
From-SVN: r172403
Ian Lance Taylor [Wed, 13 Apr 2011 23:21:21 +0000 (23:21 +0000)]
Use backend interface for go and defer statements.
Change defer stack from tree to Expression.
From-SVN: r172402
Paolo Carlini [Wed, 13 Apr 2011 22:52:45 +0000 (22:52 +0000)]
[multiple changes]
2011-04-13 Daniel Krugler <daniel.kruegler@googlemail.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48526
* include/std/type_traits (struct is_constructible): Re-implement,
according to n3290.
(struct is_default_constructible): Add.
(struct is_destructible): Likewise.
(struct __and_, __or_, __not_): Add and use throughout; reorder some
facilities, other minor tweaks.
* testsuite/util/testsuite_tr1.h: Add test types.
* testsuite/20_util/is_constructible/value-2.cc: New.
* testsuite/20_util/is_default_constructible/value.cc: Likewise.
* testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_default_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_destructible/value.cc: Likewise.
* testsuite/20_util/is_destructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_destructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
2011-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/is_function/value.cc: Add, adapted from the tr
testsuite.
* testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_function/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_function/24808.cc: Likewise.
* testsuite/20_util/is_function/35637.cc: Likewise.
* testsuite/20_util/is_object/value.cc: Likewise.
* testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
: Likewise.
* testsuite/20_util/is_object/24808.cc: Likewise.
* testsuite/20_util/is_compound/value.cc: Likewise.
* testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_compound/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
* testsuite/20_util/is_member_object_pointer/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_member_object_pointer/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_fundamental/value.cc: Likewise.
* testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_fundamental/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_member_pointer/value.cc: Likewise.
* testsuite/20_util/is_member_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_member_pointer/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
* testsuite/20_util/is_member_function_pointer/
requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_member_function_pointer/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
Copyright years.
From-SVN: r172401
Joseph Myers [Wed, 13 Apr 2011 22:08:01 +0000 (23:08 +0100)]
* sv.po: Update.
From-SVN: r172398
Ian Lance Taylor [Wed, 13 Apr 2011 21:00:59 +0000 (21:00 +0000)]
Unify handling of runtime support functions.
This introduces the new approach, and rewrites the lowering
code which uses runtime functions. The code which calls
runtime functions at GENERIC conversion time is not yet
rewritten.
From-SVN: r172396
Jason Merrill [Wed, 13 Apr 2011 20:50:26 +0000 (16:50 -0400)]
re PR c++/48594 (Rejects valid with pointer-to-member in template)
PR c++/48594
* decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
or pointer to (non-member) function.
From-SVN: r172394
Nathan Froyd [Wed, 13 Apr 2011 20:32:30 +0000 (20:32 +0000)]
tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
* tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
* tree-ssanames.c (fini_ssanames): VEC_free it.
(make_ssa_name_fn): Update for VECness of free_ssanames.
(release_ssa_name, release_dead_ssa_names): Likewise.
* tree.h (struct tree_ssa_name): Include tree_typed instead of
tree_common.
* tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
TS_TYPED instead of TS_COMMON.
From-SVN: r172393
Nathan Froyd [Wed, 13 Apr 2011 19:39:02 +0000 (19:39 +0000)]
postreload-gcse.c (gcse_after_reload_main): Add calls to statistics_counter_event.
* postreload-gcse.c (gcse_after_reload_main): Add calls to
statistics_counter_event.
* tree-ssa-copyrename.c (stats): Define.
(rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
statistics_counter_event.
* tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
(bswap_stats, widen_mul_stats): Define.
(insert_reciprocals): Increment rdivs_inserted.
(execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
rfuncs_inserted. Add calls to statistics_counter_event.
(execute_cse_sincos_1): Increment inserted.
(execute_cse_sincos): Zeroize sincos_stats. Add call to
statistics_counter_event.
(execute_optimize_bswap): Zeroize bswap_stats. Increment fields
of bswap_stats. Add calls to statistics_counter_event.
(convert_mult_to_widen): Increment widen_mults_inserted.
(convert_plusminus_to_widen): Increment maccs_inserted.
(convert_mult_to_fma): Increment fmas_inserted.
(execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
calls to statistics_counter_event.
From-SVN: r172392
Vladimir Makarov [Wed, 13 Apr 2011 18:26:52 +0000 (18:26 +0000)]
re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
2011-04-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/48455
* ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
`temp_costs->mem_cost'.
From-SVN: r172389
Jan Hubicka [Wed, 13 Apr 2011 17:26:50 +0000 (19:26 +0200)]
ipa-inline.h: New file.
* ipa-inline.h: New file.
* ipa-inline-analysis.c: New file. Broken out of ...
* ipa-inline.c: ... this file; update toplevel comment;
include ipa-inline.h
(inline_summary): Move to ipa-inline.h
(cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
ipa-inline-analysis.c.
(cgraph_estimate_time_after_inlining): Rename to estiamte_time_after_inlining;
move to ipa-inline-analysis.c
(cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
to estimate_edge_growth.
(cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
rename to estimate_size_after_inlining.
(cgraph_mark_inline_edge): Update for new naming convention.
(cgraph_check_inline_limits): Likewise.
(cgraph_edge_badness): Likewise.
(cgraph_decide_recursive_inlining): Likewise.
(cgraph_decide_inlining_of_small_functions): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.
(cgraph_estimate_growth): Rename to estimate_growth; move to ipa-inline-analysis.c.
(eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
(estimate_function_body_sizes): Move to ipa-inline-analysis.c.
(compute_inline_parameters): Likewise.
(compute_inline_parameters_for_current): Likewise.
(pass_inline_parameters): Likewise.
(inline_indirect_intraprocedural_analysis): Likewise.
(analyze_function): Rename to inline_analyze_function; likewise.
(add_new_function): Move to ipa-inline-analysis.c.
(inline_generate_summary): Likewise.
(inline_read_summary): Likewise.
(inline_write_summary): Likewise.
* Makefile.in (ipa-inline-analysis.c): New file.
From-SVN: r172388
Rainer Orth [Wed, 13 Apr 2011 17:12:53 +0000 (17:12 +0000)]
configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
* configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
* configure: Regenerate.
From-SVN: r172387
Nathan Froyd [Wed, 13 Apr 2011 17:04:36 +0000 (17:04 +0000)]
tree.h (struct tree_int_cst, [...]): Include tree_typed instead of tree_common.
* tree.h (struct tree_int_cst, struct real_value): Include tree_typed
instead of tree_common.
(struct tree_fixed_cst, struct tree_string, struct tree_complex):
Likewise.
* tree.c (initialize_tree_contains_struct): Mark such nodes as being
TS_TYPED rather than TS_COMMON.
* print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
From-SVN: r172386
Georg-Johann Lay [Wed, 13 Apr 2011 16:46:29 +0000 (16:46 +0000)]
Fix ChangeLog entry for PR target/45263
From-SVN: r172385
Georg-Johann Lay [Wed, 13 Apr 2011 16:36:50 +0000 (16:36 +0000)]
re PR target/45263 (registers used in __do_global_ctors can get clobbered)
PR target/45263
* config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Save
R20 around calls of __tablejump_elpm__
From-SVN: r172384
Georg-Johann Lay [Wed, 13 Apr 2011 16:04:11 +0000 (16:04 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2011-04-13 Georg-Johann Lay <avr@gjlay.de>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r172382
Jakub Jelinek [Wed, 13 Apr 2011 15:50:02 +0000 (17:50 +0200)]
re PR middle-end/48591 (OpenMP ICE with atomics on __float128 in 32-bit only i686 cc1)
PR middle-end/48591
* omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
NULL.
(expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
* gcc.dg/gomp/pr48591.c: New test.
* testsuite/libgomp.c/pr48591.c: New test.
From-SVN: r172379
Jakub Jelinek [Wed, 13 Apr 2011 15:38:50 +0000 (17:38 +0200)]
re PR regression/48570 (wrong subscription with -std=c++0x)
PR c++/48570
* semantics.c (cxx_eval_array_reference): Handle reading from
wchar_t, char16_t and char32_t STRING_CST.
* g++.dg/cpp0x/constexpr-wstring1.C: New test.
* g++.dg/cpp0x/constexpr-wstring2.C: New test.
From-SVN: r172377
Dodji Seketeli [Wed, 13 Apr 2011 15:09:26 +0000 (15:09 +0000)]
re PR c++/48574 (ICE)
Fix PR c++/48574
gcc/cp/
* class.c (fixed_type_or_null): We cannot determine the dynamic
type of a reference variable if its initializer is dependent.
gcc/testsuite/
* g++.dg/template/dependent-expr7.C: New test case.
From-SVN: r172375
Jason Merrill [Wed, 13 Apr 2011 14:34:05 +0000 (10:34 -0400)]
pt.c (tsubst_copy_and_build): Don't complain about unqualified lookup failing if we're still in a template.
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't complain about
unqualified lookup failing if we're still in a template.
From-SVN: r172372
Bernd Schmidt [Wed, 13 Apr 2011 11:42:08 +0000 (11:42 +0000)]
dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
* dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
(dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
(cfi_vec): New typedef.
(struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
(cie_cfi_vec): New static variable.
(cie_cfi_head): Delete.
(add_cfi): Accept a cfi_vec * as first argument. All callers and
declaration changed. Use vector rather than list operations.
(new_cfi): Don't initialize the dw_cfi_next field.
(add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
rather than list operations.
(lookup_cfa): Use vector rather than list operations.
(output_cfis): New argument upto. Accept a cfi_vec rather than
a dw_cfi_ref list head as argument. All callers changed.
Iterate over the vector using upto as a maximum index.
(output_all_cfis): New static function.
(output_fde): Use vector rather than list operations. Use the
new upto argument for output_cfis rather than manipulating a
list.
(dwarf2out_begin_prologue): Change initializations to match
new struct members.
(dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
from the vector length rather than searching for the end of a list.
Use output_all_cfis.
(convert_cfa_to_fb_loc_list): Use vector rather than list operations.
From-SVN: r172369
Nick Clifton [Wed, 13 Apr 2011 11:31:55 +0000 (11:31 +0000)]
rx.md (movmemsi): Do not use this pattern when volatile pointers are involved.
* config/rx/rx.md (movmemsi): Do not use this pattern when
volatile pointers are involved.
From-SVN: r172368
Uros Bizjak [Wed, 13 Apr 2011 10:27:40 +0000 (12:27 +0200)]
sse2-init-v2di-2.c: Update scan pattern.
* gcc.target/i386/sse2-init-v2di-2.c: Update scan pattern.
From-SVN: r172366
Uros Bizjak [Wed, 13 Apr 2011 10:16:51 +0000 (12:16 +0200)]
sse.md (pinsrbits): Remove.
* config/i386/sse.md (pinsrbits): Remove.
(sse2_packsswb): Merge with *avx_packsswb.
(sse2_packssdw): Merge with *avx_packssdw.
(sse2_packuswb): Merge with *avx_packuswb.
(vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
(vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
(vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
(vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
(vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
(vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
(*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
(*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
(*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
(*sse4_1_pinsrq): Merge with *avx_pinsrq.
(sse2_loadld): Merge with *avx_loadld.
(*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
(*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
(*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
(*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
(vec_concatv2di): Merge with *vec_concatv2di_avx.
From-SVN: r172365
Eric Botcazou [Wed, 13 Apr 2011 10:09:13 +0000 (10:09 +0000)]
Fix minor formatting issues
From-SVN: r172364
Nicola Pero [Wed, 13 Apr 2011 04:02:26 +0000 (04:02 +0000)]
In gcc/objc/: 2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (build_keyword_selector): Use get_identifier_with_length
instead of get_identifier.
From-SVN: r172360
Nathan Froyd [Wed, 13 Apr 2011 03:09:53 +0000 (03:09 +0000)]
ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN.
gcc/ada/
* gcc-interface/ada-tree.h (union lang_tree_node): Check for
TS_COMMON before calling TREE_CHAIN.
* gcc-interface/misc.c (gnat_init_ts): New function.
(LANG_HOOKS_INIT_TS): Define.
gcc/
* c-decl.c (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
* print-tree.c (print_node): Likewise.
* tree-inline.c (copy_tree_r): Likewise.
* c-lang.c (LANG_HOOKS_INIT_TS): Define.
* lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
instead of TS_COMMON.
* lto-streamer-out.c (lto_output_tree_pointers): Likewise.
* tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
(copy_node_stat): Zero TREE_CHAIN only if necessary.
(MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
(MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
...and these...
(MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
* tree.h: ...here.
(TREE_CHAIN): Check for a TS_COMMON structure.
(TREE_TYPE): Check for a TS_TYPED structure.
gcc/c-family/
* c-common.h (c_common_init_ts): Declare.
* c-common.c (c_common_init_ts): Define.
gcc/cp/
* cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move
tree_contains_struct initialization to...
* cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_*
macros.
* cp-objcp-common.h (cp_common_init_ts): Declare.
* cp-tree.h (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/fortran/
* f95-lang.c (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/go/
* go-lang.c (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/java/
* java-tree.h (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
gcc/lto/
* lto-tree.h (union lang_tree_node): Check for TS_COMMON before
calling TREE_CHAIN.
* lto.c (lto_fixup_common): Likewise.
gcc/objc/
* objc-lang.c (objc_init_ts): Move code for this function...
* objc-act.c (objc_common_init_ts): ...here. Define.
* objc-act.h (objc_common_init_ts): Declare.
gcc/objcp/
* objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
cp_common_init_ts.
From-SVN: r172359
GCC Administrator [Wed, 13 Apr 2011 00:18:51 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172353
Janis Johnson [Tue, 12 Apr 2011 22:47:54 +0000 (22:47 +0000)]
pr43698.c: Remove -march option.
For
2011-04-12 Janis Johnson <janisjo@codesourcery.com>
* gcc.target/arm/pr43698.c: Remove -march option.
From-SVN: r172348
Janis Johnson [Tue, 12 Apr 2011 22:43:22 +0000 (22:43 +0000)]
For Janis Johnson
2011-04-12 Janis Johnson <janisjo@codesourcery.com>
* gcc.target/arm/sync-1.c: Limit to sync_int_long, do not use
-march option.
From-SVN: r172347
Pat Haugen [Tue, 12 Apr 2011 20:59:41 +0000 (20:59 +0000)]
rs6000.c (call_ABI_of_interest): Call cgraph_get_create_node instead of cgraph_node.
* config/rs6000/rs6000.c (call_ABI_of_interest): Call
cgraph_get_create_node instead of cgraph_node.
From-SVN: r172345
Janne Blomqvist [Tue, 12 Apr 2011 19:27:49 +0000 (22:27 +0300)]
Cleanup memsize types
From-SVN: r172340
Paul Thomas [Tue, 12 Apr 2011 19:14:49 +0000 (19:14 +0000)]
re PR fortran/48360 (ICE on array assignment statement with allocatable LHS)
2011-04-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48360
PR fortran/48456
* trans-array.c (get_std_lbound): For derived type variables
return array valued component lbound.
2011-04-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48360
PR fortran/48456
* gfortran.dg/realloc_on_assign_6.f03: New test.
From-SVN: r172339
Nicola Pero [Tue, 12 Apr 2011 19:02:14 +0000 (19:02 +0000)]
In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_parser_initelt): Updated call to
objc_build_message_expr.
(c_parser_postfix_expression): Likewise.
In gcc/c-family/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* c-objc.h (objc_build_message_expr): Updated prototype.
* stub-objc.c (objc_build_message_expr): Likewise.
In gcc/objc/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_message_expr): Accept two arguments
instead of one so that callers can simply pass the arguments
without having to create a temporary chain to hold them.
In gcc/cp/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_message_expression): Updated call
to objc_build_message_expr.
From-SVN: r172338
Nicola Pero [Tue, 12 Apr 2011 18:53:08 +0000 (18:53 +0000)]
In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (comp_proto_with_proto): Do not create and use
inefficient temporary argument lists. Compare the arguments
directly. (match_proto_with_proto): Removed; incorporated into
comp_proto_with_proto ().
From-SVN: r172337
Kai Tietz [Tue, 12 Apr 2011 18:52:41 +0000 (20:52 +0200)]
ChangeLog gcc/
2011-04-12 Kai Tietz <ktietz@redhat.com>
* config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
MASK_MS_BITFIELD_LAYOUT bit.
ChangeLog gcc/testsuite
2011-04-12 Kai Tietz <ktietz@redhat.com>
* g++.dg/ext/bitfield2.C: Add for i?86/x86_64-*-mingw*
targets the additional -mno-ms-bitfields and
-Wno-packed-bitfield-compat options.
* g++.dg/ext/bitfield3.C: Likewise.
* g++.dg/ext/bitfield4.C: Likewise.
* g++.dg/ext/bitfield5.C: Likewise.
* gcc.dg/bitfld-15.c: Likewise.
* gcc.dg/bitfld-16.c: Likewise.
* gcc.dg/bitfld-17.c: Likewise.
* gcc.dg/bitfld-18.c: Likewise.
From-SVN: r172336
Ian Lance Taylor [Tue, 12 Apr 2011 18:51:12 +0000 (18:51 +0000)]
Call cgraph_get_node rather than cgraph_node.
This is for a recent change to the gcc middle-end.
From-SVN: r172335
Nicola Pero [Tue, 12 Apr 2011 18:35:47 +0000 (18:35 +0000)]
Fixed my email address in a ChangeLog entry of a few months ago
From-SVN: r172334
Janne Blomqvist [Tue, 12 Apr 2011 18:10:28 +0000 (21:10 +0300)]
Remove _GNU_SOURCE from AM_CPPFLAGS
From-SVN: r172330
Jakub Jelinek [Tue, 12 Apr 2011 17:49:11 +0000 (19:49 +0200)]
combine.c (update_cfg_for_uncondjump): Instead of testing at_end assert it is always true.
* combine.c (update_cfg_for_uncondjump): Instead of testing at_end
assert it is always true.
(try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
moves.
From-SVN: r172329
Nicola Pero [Tue, 12 Apr 2011 17:37:39 +0000 (17:37 +0000)]
In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (printable_ivar_name): New.
(add_instance_variable): Call printable_ivar_name() when an error
message needs to be printed. Do not prepare the instance variable
for printing unless there is an actual error.
From-SVN: r172328
Nicola Pero [Tue, 12 Apr 2011 16:45:40 +0000 (16:45 +0000)]
In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_lex_one_token): Rewritten conditional used when
compiling Objective-C to be more efficient.
In gcc/objc/:
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_is_class_name, objc_is_id): For efficiency,
avoid calling identifier_global_value() multiple times.
From-SVN: r172327
Axel Freyn [Tue, 12 Apr 2011 16:29:23 +0000 (16:29 +0000)]
opts-common.c (decode_cmdline_options_to_array): Remove variable argv_copied.
2011-04-12 Axel Freyn <axel-freyn@gmx.de>
* opts-common.c (decode_cmdline_options_to_array): Remove variable
argv_copied.
From-SVN: r172325
Yufeng Zhang [Tue, 12 Apr 2011 16:19:10 +0000 (16:19 +0000)]
ChangeLog: Add the mising change log for my previous commit.
2011-04-12 Yufeng Zhang <yufeng.zhang@arm.com>
* ChangeLog: Add the mising change log for my previous commit.
From-SVN: r172324
Yufeng Zhang [Tue, 12 Apr 2011 16:03:39 +0000 (16:03 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2011-04-12 Yufeng Zhang <yufeng.zhang@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r172323
Richard Sandiford [Tue, 12 Apr 2011 14:56:57 +0000 (14:56 +0000)]
* recog.h, genoutput.c, optabs.c: Revert last patch.
From-SVN: r172321
Ramana Radhakrishnan [Tue, 12 Apr 2011 13:42:48 +0000 (13:42 +0000)]
re PR target/48090 (gcc 4.5.2 miscompilation when building on arm)
Fix PR target/48090
2011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/48090
* config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
From-SVN: r172318
Richard Sandiford [Tue, 12 Apr 2011 12:51:28 +0000 (12:51 +0000)]
recog.h (insn_operand_data): Add an "allows_mem" field.
gcc/
* recog.h (insn_operand_data): Add an "allows_mem" field.
* genoutput.c (output_operand_data): Initialize it.
* optabs.c (maybe_legitimize_operand_same_code): New function.
(maybe_legitimize_operand): Use it when matching the original
op->value.
From-SVN: r172316
Richard Sandiford [Tue, 12 Apr 2011 12:51:10 +0000 (12:51 +0000)]
genpreds.c (process_define_predicate): Move most processing to gensupport.c.
gcc/
* genpreds.c (process_define_predicate): Move most processing
to gensupport.c. Continue to validate the expression.
* genrecog.c (did_you_mean_codes, compute_predicate_codes)
(process_define_predicate): Move processing to gensupport.c.
(main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
* gensupport.c (did_you_mean_codes): Moved from genrecog.c.
(compute_predicate_codes): Moved from genrecog.c. Add lineno
argument.
(valid_predicate_name_p): New function, split out from old
genpreds.c:process_define_predicate.
(process_define_predicate): New function, combining code from
old genpreds.c and genrecog.c functions.
(process_rtx): Call it for DEFINE_PREDICATE and
DEFINE_SPECIAL_PREDICATE.
From-SVN: r172315
Richard Sandiford [Tue, 12 Apr 2011 12:19:38 +0000 (12:19 +0000)]
arm.c (arm_print_operand): Use MEM_SIZE to get the size of a '%A' memory reference.
gcc/
* config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
size of a '%A' memory reference.
(T_DREG, T_QREG): New neon_builtin_type_bits.
(arm_init_neon_builtins): Assert that the load and store operands
are neon_struct_operands.
(locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
(NEON_ARG_MEMORY): New builtin_arg.
(neon_dereference_pointer): New function.
(arm_expand_neon_args): Add a neon_builtin_type_bits argument.
Handle NEON_ARG_MEMORY.
(arm_expand_neon_builtin): Update after above interface changes.
Use NEON_ARG_MEMORY for loads and stores.
* config/arm/predicates.md (neon_struct_operand): New predicate.
* config/arm/iterators.md (V_two_elem): Tweak formatting.
(V_three_elem): Use BLKmode for accesses that have no associated mode.
(V_four_elem): Tweak formatting.
* config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
(neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
(neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
(neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
(neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
(neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
(neon_vst4<mode>): Replace pointer operand with a memory operand.
Use %A in the output template.
(neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
(neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
(neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
the width of the memory access. Remove post-increment.
* config/arm/neon-testgen.ml: Allow addresses to have an alignment.
gcc/testsuite/
* gcc.target/arm/neon-vld3-1.c: New test.
* gcc.target/arm/neon-vst3-1.c: New test.
* gcc.target/arm/neon/v*.c: Regenerate.
From-SVN: r172314
Nick Clifton [Tue, 12 Apr 2011 11:34:26 +0000 (11:34 +0000)]
v850.c (expand_prologue): Do not use the CALLT instruction for interrupt handlers if...
* config/v850/v850.c (expand_prologue): Do not use the CALLT
instruction for interrupt handlers if the target is the basic V850
architecture.
(expand_epilogue): Likewise.
From-SVN: r172313
Jakub Jelinek [Tue, 12 Apr 2011 10:53:47 +0000 (12:53 +0200)]
re PR rtl-optimization/48549 (Combiner ICE with -g)
PR rtl-optimization/48549
* combine.c (propagate_for_debug): Also stop after BB_END of
this_basic_block. Process LAST and just stop processing after it.
(combine_instructions): If last_combined_insn has been deleted,
set last_combined_insn to its PREV_INSN.
* g++.dg/opt/pr48549.C: New test.
From-SVN: r172311
Richard Guenther [Tue, 12 Apr 2011 10:44:15 +0000 (10:44 +0000)]
re PR tree-optimization/46076 (constant propagation and compile-time math no longer happening versus 4.4 and 4.5)
2011-04-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46076
* gimple.h (struct gimple_statement_call): Add fntype field.
(gimple_call_fntype): Adjust.
(gimple_call_set_fntype): New function.
* gimple.c (gimple_build_call_1): Set the call function type.
* gimplify.c (gimplify_call_expr): Preserve the function
type the frontend used for the call.
(gimplify_modify_expr): Likewise.
* lto-streamer-in.c (input_gimple_stmt): Input the call stmts
function type.
* lto-streamer-out.c (output_gimple_stmt): Output the call stmts
function type.
* tree-ssa.c (useless_type_conversion_p): Function pointer
conversions are useless.
* gcc.dg/tree-ssa/pr46076.c: Un-XFAIL.
From-SVN: r172310
Takaya Saito [Tue, 12 Apr 2011 10:31:33 +0000 (10:31 +0000)]
re PR libstdc++/48476 ([C++0x] conversion between std::tuple which have reference member is rejected)
2011-04-12 Takaya Saito <gintensubaru@gmail.com>
PR libstdc++/48476
* include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
_Tuple_impl<>::operator=(_Tuple_impl&&), _Tuple_impl<>::operator=
(_Tuple_impl<>&&), tuple_cat): Use std::forward where appropriate.
* testsuite/20_util/tuple/cons/48476.cc: New.
* testsuite/20_util/tuple/48476.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
From-SVN: r172309
Martin Jambor [Tue, 12 Apr 2011 10:02:31 +0000 (12:02 +0200)]
class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of cgraph_get_create_node.
2011-04-12 Martin Jambor <mjambor@suse.cz>
gcc/cp/
* class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of
cgraph_get_create_node.
* decl2.c (cp_write_global_declarations): Call cgraph_get_node
instead of cgraph_get_create_node.
* method.c (make_alias_for_thunk): Call cgraph_get_node
instead of cgraph_get_create_node, assert it returns non-NULL.
(use_thunk): Likewise.
* optimize.c (maybe_clone_body): Call cgraph_same_body_alias only
when flag_syntax_only is not set. Call cgraph_get_node instead of
cgraph_get_create_node.
(maybe_clone_body): Call cgraph_get_node instead of
cgraph_get_create_node.
From-SVN: r172308
Martin Jambor [Tue, 12 Apr 2011 09:27:18 +0000 (11:27 +0200)]
cgraph.h (cgraph_node): Remove function declaration.
2011-04-12 Martin Jambor <mjambor@suse.cz>
* cgraph.h (cgraph_node): Remove function declaration.
(cgraph_create_node): Declare.
(cgraph_get_create_node): Likewise.
* cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
Updated all callers.
(cgraph_node): Renamed to cgraph_create_node, assert that a node for
the decl does not already exist. Call cgraph_get_create_node instead
of cgraph_node.
(cgraph_get_create_node): New function.
(cgraph_same_body_alias): Update comment.
(cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
assert it does not return NULL.
(cgraph_update_edges_for_call_stmt): Likewise.
(cgraph_clone_edge): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
instead of cgraph_node.
(cgraph_add_new_function): Call cgraph_create_node or
cgraph_get_create_node instead of cgraph_node.
* cgraphbuild.c (record_reference): Call cgraph_get_create_node
instead of cgraph_node.
(record_eh_tables): Likewise.
(mark_address): Likewise.
(mark_load): Likewise.
(build_cgraph_edges): Call cgraph_get_create_node instead
of cgraph_node.
(rebuild_cgraph_edges): Likewise.
* cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
instead of cgraph_node.
(cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
cgraph_node.
* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
cgraph_create_node instead of cgraph_node.
* c-decl.c (finish_function): Call cgraph_get_create_node instead
of cgraph_node.
* lto-cgraph.c (input_node): Likewise.
* lto-streamer-in.c (input_function): Likewise.
* varasm.c (mark_decl_referenced): Likewise.
(assemble_alias): Likewise.
gcc/c-family/
* c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
of cgraph_node.
gcc/cp/
* cp/class.c (cp_fold_obj_type_ref): Call cgraph_get_create_node
instead of cgraph_node.
* cp/decl2.c (cxx_callgraph_analyze_expr): Likewise.
(cp_write_global_declarations): Likewise.
* cp/optimize.c (maybe_clone_body): Likewise.
* cp/semantics.c (maybe_add_lambda_conv_op): Likewise.
* cp/mangle.c (mangle_decl): Likewise.
* cp/method.c (make_alias_for_thunk): Likewise.
(use_thunk): Likewise.
gcc/ada/
* gcc-interface/utils.c (end_subprog_body): Call
cgraph_get_create_node instead of cgraph_node.
gcc/fortran/
* trans-decl.c (gfc_generate_function_code): Call
cgraph_get_create_node instead of cgraph_node.
gcc/objc/
* objc-act.c (mark_referenced_methods): Call cgraph_get_create_node
instead of cgraph_node.
From-SVN: r172307
Martin Jambor [Tue, 12 Apr 2011 09:12:58 +0000 (11:12 +0200)]
tree-inline.c (tree_function_versioning): Call cgraph_get_node instead of cgraph_node and assert it does not return NULL.
2011-04-12 Martin Jambor <mjambor@suse.cz>
* tree-inline.c (tree_function_versioning): Call cgraph_get_node
instead of cgraph_node and assert it does not return NULL.
* lto-streamer-in.c (lto_read_body): Likewise.
* omp-low.c (new_omp_context): Likewise.
(create_task_copyfn): Likewise.
* tree-emutls.c (lower_emutls_function_body): Likewise.
* matrix-reorg.c (transform_allocation_sites): Likewise.
From-SVN: r172306
Paolo Carlini [Tue, 12 Apr 2011 09:05:30 +0000 (09:05 +0000)]
re PR libstdc++/48566 (libstdc++-v3 testsuite failures due to missing includes)
2011-04-12 Allan McRae <allan@archlinux.org>
PR libstdc++/48566
* testsuite/tr1/6_containers/unordered_map/requirements/
iterator_null_neg.cc: Include <cstddef>.
* testsuite/tr1/6_containers/unordered_set/requirements/
iterator_null_neg.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
<cstring>.
* testsuite/util/testsuite_common_types.h: Include <limits>.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
Likewise.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
From-SVN: r172303
Rainer Orth [Tue, 12 Apr 2011 09:04:05 +0000 (09:04 +0000)]
re PR testsuite/21164 (libjava tests uses absolute paths)
libjava:
PR testsuite/21164
* testsuite/lib/libjava.exp: Load dg.exp.
* testsuite/libjava.jar/jar.exp (gcj_jar_interpret): Strip srcdir
from jarfile.
Use result for messages.
* testsuite/libjava.loader/loader.exp (gcj_loader_test_one): Pass
errname to libjava_invoke, fix testname.
gcc:
PR testsuite/21164
* lib/compat.exp (compat-execute): Declare unsupported after
stripping path from src1.
* lib/lto.exp (lto-execute): Likewise.
From-SVN: r172302
Jakub Jelinek [Tue, 12 Apr 2011 06:43:12 +0000 (08:43 +0200)]
re PR c/48517 (ICE in build_unary_op, at c-typeck.c:3786)
PR c/48517
* c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
qualified type.
* gcc.c-torture/compile/pr48517.c: New test.
From-SVN: r172299
Jakub Jelinek [Tue, 12 Apr 2011 06:27:23 +0000 (08:27 +0200)]
re PR c/48552 (ICE with void type expressions in asm inputs/outputs)
PR c/48552
* c-typeck.c (build_asm_expr): Error out on attempts to use
void type outputs or inputs for constraints that allow reg or
don't allow memory.
* gcc.dg/pr48552-1.c: New test.
* gcc.dg/pr48552-2.c: New test.
From-SVN: r172298
Chung-Lin Tang [Tue, 12 Apr 2011 04:42:55 +0000 (04:42 +0000)]
re PR target/48250 (ICE in reload_cse_simplify_operands, at postreload.c:403)
2011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
Richard Earnshaw <rearnsha@arm.com>
PR target/48250
* config/arm/arm.c (arm_legitimize_reload_address): Update cases
to use sign-magnitude offsets. Reject unsupported unaligned
cases. Add detailed description in comments.
* config/arm/arm.md (reload_outdf): Disable for ARM mode; change
condition from TARGET_32BIT to TARGET_ARM.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r172297
Nathan Froyd [Tue, 12 Apr 2011 02:18:41 +0000 (02:18 +0000)]
tree.h (struct typed_tree): New.
* tree.h (struct typed_tree): New.
(struct tree_common): Include it instead of tree_base.
(TREE_TYPE): Update for new location of type field.
(TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
(DECL_USER_ALIGN, DECL_PACKED): Likewise.
(union tree_node): Add typed field.
* treestruct.def (TS_TYPED): New.
* lto-streamer.c (check_handled_ts_structures): Handle it.
* tree.c (MARK_TS_TYPED): New macro.
(MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
From-SVN: r172295
GCC Administrator [Tue, 12 Apr 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172292
Jason Merrill [Mon, 11 Apr 2011 22:01:04 +0000 (18:01 -0400)]
re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
* decl.c (cp_complete_array_type_or_error): New.
* semantics.c (finish_compound_literal): Use it.
* cp-tree.h: Declare it.
From-SVN: r172287
Jason Merrill [Mon, 11 Apr 2011 22:00:53 +0000 (18:00 -0400)]
re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
* semantics.c (finish_compound_literal): Handle references.
From-SVN: r172286
Jason Merrill [Mon, 11 Apr 2011 22:00:42 +0000 (18:00 -0400)]
re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
* semantics.c (finish_compound_literal): Take complain parm.
(build_lambda_object): Adjust.
* cp-tree.h: Adjust.
* call.c (convert_like_real): Adjust.
* decl.c (check_initializer): Adjust.
* parser.c (cp_parser_postfix_expression): Adjust.
(cp_parser_functional_cast): Adjust.
* pt.c (tsubst_copy_and_build): Adjust.
* typeck2.c (process_init_constructor_record): Adjust.
From-SVN: r172285
Jason Merrill [Mon, 11 Apr 2011 22:00:31 +0000 (18:00 -0400)]
re PR c++/48534 ([C++0x][SFINAE] Compiler break down on explicit scoped enum => bool conversion)
PR c++/48534
* cvt.c (ocp_convert): Use build_nop to convert to underlying type
of scoped enum.
From-SVN: r172284
Jason Merrill [Mon, 11 Apr 2011 22:00:20 +0000 (18:00 -0400)]
re PR c++/48523 ([C++0x] lambda cannot capture 'this' in class template)
PR c++/48523
* tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
than cp_build_indirect_ref.
From-SVN: r172283
Jason Merrill [Mon, 11 Apr 2011 22:00:06 +0000 (18:00 -0400)]
PR c++/48457, Core 1238
PR c++/48457, Core 1238
* call.c (reference_binding): Allow rvalue reference to bind to
function lvalue.
* tree.c (lvalue_kind): Functions are always lvalues.
From-SVN: r172282
Eric Botcazou [Mon, 11 Apr 2011 21:54:59 +0000 (21:54 +0000)]
cfghooks.c (redirect_edge_and_branch_force): Localize variable.
* cfghooks.c (redirect_edge_and_branch_force): Localize variable.
(force_nonfallthru): Do not alter the loop nest if no basic block
was created.
From-SVN: r172281
Uros Bizjak [Mon, 11 Apr 2011 21:39:40 +0000 (23:39 +0200)]
sse.md (VI): New mode iterator.
* config/i386/sse.md (VI): New mode iterator.
(SSEMODEI): Remove.
(AVX256MODEI): Ditto.
(AVXMODEF4P): Ditto.
(avxvecpsmode): Ditto.
(one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
(sse2_andnot<mode>3): New expander.
(*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
*avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
(<any_logic:code><mode>3): Use VI mode iterator.
(*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
and *avx_<any_logic:code><mode>3. Use VI mode iterator.
(*andnottf3): Handle AVX three-operand constraints.
(*<any_logic:code>tf3): Handle AVX three-operand constraints.
From-SVN: r172280
Joseph Myers [Mon, 11 Apr 2011 21:22:36 +0000 (22:22 +0100)]
config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
2011-04-11 Joseph Myers <joseph@codesourcery.com>
Robert Millan <rmh@gnu.org>
* config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
* config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
GNU_USER_DYNAMIC_LINKER64): Define.
(REG_NAME): Don't undefine.
(MD_UNWIND_SUPPORT): Undefine.
* config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
(REG_NAME): Don't undefine.
(MD_UNWIND_SUPPORT): Undefine.
* config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION):
Define.
Co-Authored-By: Robert Millan <rmh@gnu.org>
From-SVN: r172279
Joseph Myers [Mon, 11 Apr 2011 21:21:49 +0000 (22:21 +0100)]
gnu.h (GNU_USER_LINK_EMULATION): Define.
* config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
(CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
From-SVN: r172278
Xinliang David Li [Mon, 11 Apr 2011 20:37:57 +0000 (20:37 +0000)]
sanity check ic target
From-SVN: r172276
Basile Starynkevitch [Mon, 11 Apr 2011 19:31:50 +0000 (19:31 +0000)]
Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h tree-pretty-print.h & realmpfr.h.
2011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
tree-pretty-print.h & realmpfr.h.
From-SVN: r172275
Vladimir Makarov [Mon, 11 Apr 2011 19:23:13 +0000 (19:23 +0000)]
re PR middle-end/48464 (@171649: ICE in setup_pressure_classes, at ira.c:877)
2011-04-11 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/48464
* ira.c (setup_pressure_classes): Fix typo in loop condition.
(setup_allocno_and_important_classes): Ditto.
From-SVN: r172274
Joseph Myers [Mon, 11 Apr 2011 18:46:05 +0000 (19:46 +0100)]
linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
* config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
GNU_USER_DYNAMIC_LINKER.
* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
* config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
GNU_USER_DYNAMIC_LINKER64): Remove.
* config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
(LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
* config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
GNU_USER_DYNAMIC_LINKERN32.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
GNU_USER_DYNAMIC_LINKER32.
* config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
GNU_USER_DYNAMIC_LINKER32.
(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
* config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
GNU_USER_DYNAMIC_LINKER.
* config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64.
* config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
GNU_USER_DYNAMIC_LINKER32.
(LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64.
* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
From-SVN: r172273
Joseph Myers [Mon, 11 Apr 2011 18:44:32 +0000 (19:44 +0100)]
gnu-user.h: Copy from linux.h.
* config/i386/gnu-user.h: Copy from linux.h. Update comments.
(LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
(SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
GNU_USER_DYNAMIC_LINKER.
(MD_UNWIND_SUPPORT, REG_NAME): Remove.
* config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
GNU_USER_DYNAMIC_LINKER64.
(MD_UNWIND_SUPPORT, REG_NAME): Remove.
* config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
GNU_USER_LINK_EMULATION.
* config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
CPP_SPEC, CC1_SPEC): Remove.
(LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
(GNU_USER_DYNAMIC_LINKER): Define.
(ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
* config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
(GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
(STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER.
* config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
* config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
* config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
* config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new
headers.
From-SVN: r172271