1. 23 Jun, 2011 10 commits
    • re PR c++/49507 (ICE because of defaulted template destructor) · 767de87d
      	PR c++/49507
      	* decl2.c (mark_used): Don't call synthesize_method for
      	functions defaulted outside the class.
      
      From-SVN: r175342
      Jason Merrill committed
    • optimize.c (maybe_clone_body): Set linkage flags before cgraph_same_body_alias. · d72ce0c1
      	* optimize.c (maybe_clone_body): Set linkage flags before
      	cgraph_same_body_alias.
      
      From-SVN: r175341
      Jason Merrill committed
    • re PR c++/49440 (Invalid dynamic_cast for unnamed namespace) · 012d5d25
      	PR c++/49440
      	* class.c (set_linkage_according_to_type): Just check TREE_PUBLIC
      	on the type's name.
      
      From-SVN: r175340
      Jason Merrill committed
    • re PR c++/49395 (Non-class prvalues seem to have cv-qualification with GCC) · ece62004
      	PR c++/49395
      	* init.c (build_zero_init_1): Strip cv-quals from scalar types.
      
      From-SVN: r175339
      Jason Merrill committed
    • re PR c++/36435 (Partial ordering of explicit specialization should include return type) · d708df29
      	PR c++/36435
      	* pt.c (most_specialized_instantiation): Do check return types.
      
      From-SVN: r175338
      Jason Merrill committed
    • re PR middle-end/49373 (Many testcase failures) · febb1302
      	PR tree-optimize/49373
      	* tree-pass.h (all_late_ipa_passes): Declare.
      	* cgraphunit.c (init_lowered_empty_function): Fix properties.
      	(cgraph_optimize): Execute late passes; remove unreachable funcions after
      	materialization.
      	* ipa-inline.c (gate_ipa_inline): Enable only when optimizing or LTOing.
      	* passes.c (all_late_ipa_passes): Declare.
      	(dump_passes, register_pass): Handle late ipa passes.
      	(init_optimization_passes): Move ipa_pta to late passes; schedule fixup_cfg
      	at beggining of all_passes.
      	(apply_ipa_transforms): New function.
      	(execute_one_pass): When doing simple ipa pass, apply all transforms.
      
      From-SVN: r175336
      Jan Hubicka committed
    • params.c: Include common/common-target.h. · 4c77620d
      	* params.c: Include common/common-target.h.  Don't include tm.h.
      	(lang_independent_params): Move from toplev.c.
      	(global_init_params): New.
      	* params.h (global_init_params): Declare.
      	* target.def (default_params): Move to common-target.def.
      	* toplev.c (lang_independent_options): Remove.
      	(lang_independent_params): Move to params.c.
      	(general_init): Use global_init_params.
      	* common/common-target.def (option_default_params): Move from
      	target.def.
      	* common/config/ia64/ia64-common.c: Include params.h.
      	(ia64_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
      	from ia64.c.
      	* common/config/rs6000/rs6000-common.c: Include params.h.
      	(rs6000_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
      	from rs6000.c.
      	* common/config/sh/sh-common.c: Include params.h.
      	(sh_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
      	from sh.c.
      	* common/config/spu/spu-common.c: Include params.h.
      	(spu_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
      	from spu.c.
      	* config/ia64/ia64.c (ia64_option_default_params,
      	TARGET_OPTION_DEFAULT_PARAMS): Move to ia64-common.c.
      	* config/rs6000/rs6000.c (rs6000_option_default_params,
      	TARGET_OPTION_DEFAULT_PARAMS): Move to rs6000-common.c.
      	* config/sh/sh.c (sh_option_default_params,
      	TARGET_OPTION_DEFAULT_PARAMS): Move to sh-common.c.
      	* config/spu/spu.c (spu_option_default_params,
      	TARGET_OPTION_DEFAULT_PARAMS): Move to spu-common.c.
      	* Makefile.in (OBJS): Remove params.o.
      	(OBJS-libcommon-target): Add params.o.
      	(params.o, $(common_out_object_file)): Update dependencies.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r175330
      Joseph Myers committed
    • tie2.cc: Fix for C++0x mode. · 6f20ac34
      2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
      	C++0x mode.
      	* testsuite/25_algorithms/sort/35588.cc: Likewise.
      	* testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
      
      From-SVN: r175329
      Jonathan Wakely committed
    • re PR bootstrap/49383 (powerpc64-linux bootstrap failure due to ice in… · 6aad1e38
      re PR bootstrap/49383 (powerpc64-linux bootstrap failure due to ice in cgraph_only_called_directly_p)
      
      	PR bootstrap/49383
      	* config/rs6000/rs6000.c (call_ABI_of_interest): Adjust cgraph
      	invocation for 2011-06-09 changes.
      
      From-SVN: r175328
      Alan Modra committed
    • Daily bump. · ba704178
      From-SVN: r175327
      GCC Administrator committed
  2. 22 Jun, 2011 30 commits
    • socket.cc: Use variable and remove attribute. · 8eeaeeca
      2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* testsuite/20_util/bind/socket.cc: Use variable and remove attribute.
      
      From-SVN: r175322
      Jonathan Wakely committed
    • pat_trie_base.hpp: Avoid -Wall warning. · 98656b3d
      2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
      	warning.
      
      From-SVN: r175321
      Paolo Carlini committed
    • invoke.cc: Avoid -Wall warnings. · 879e1011
      2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
      	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
      	* testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
      	* testsuite/20_util/allocator_traits/members/allocate_hint.cc:
      	Likewise.
      	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
      	* testsuite/20_util/bind/socket.cc: Likewise.
      	* testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
      	* testsuite/util/testsuite_random.h: Likewise.
      
      From-SVN: r175318
      Paolo Carlini committed
    • re PR middle-end/49373 (Many testcase failures) · 96427cb5
      	PR middle-end/49373
      	* g++.dg/torture/pr43879-1_1.C: Xfail for -O1 and above, except -flto.
      
      From-SVN: r175317
      Hans-Peter Nilsson committed
    • re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib) · 5167b7cf
      	PR regression/47836
      	PR bootstrap/23656
      	PR other/47733
      	PR bootstrap/49247
      	PR c/48825
      	* configure.ac (target_libraries): Remove target-libiberty.
      	Remove case-statement setting skipdirs=target-libiberty for
      	multiple targets.  Remove checking target_configdirs and
      	removing target-libiberty but keeping target-libgcc if
      	otherwise empty.
      	* Makefile.def (target_modules): Don't add libiberty.
      	(dependencies): Remove all traces of target-libiberty.
      	* configure, Makefile.in: Regenerate.
      (add missing PR annotation in the ChangeLog entry)
      
      From-SVN: r175316
      Hans-Peter Nilsson committed
    • re PR libgomp/49490 (suboptimal load balancing in loops) · fb79f500
      	PR libgomp/49490
      	* omp-low.c (expand_omp_for_static_nochunk): Only
      	use n ceil/ nthreads size for the first
      	n % nthreads threads in the team instead of
      	all threads except for the last few ones which
      	get less work or none at all.
      
      	* iter.c (gomp_iter_static_next): For chunk size 0
      	only use n ceil/ nthreads size for the first
      	n % nthreads threads in the team instead of
      	all threads except for the last few ones which
      	get less work or none at all.
      	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
      	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
      	chunk argument, set run_sched_modifier to 0 for static
      	resp. 1 for other kinds.  If chunk argument is 0
      	and not static, set value to 1.
      
      From-SVN: r175315
      Jakub Jelinek committed
    • re PR debug/49496 (-fcompare-debug failure (length) with -O -ftree-vectorize) · 4fb489e7
      	PR debug/49496
      	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
      	uses.
      
      	* gcc.dg/pr49496.c: New test.
      
      From-SVN: r175314
      Jakub Jelinek committed
    • scd42-3.c: Allow -march-xscale; skip if -mcpu is not xscale. · 7d059f18
      	* gcc.target/arm/scd42-3.c: Allow -march-xscale; skip if -mcpu
      	is not xscale.
      
      From-SVN: r175312
      Janis Johnson committed
    • ctz.c: Don't specify -march, require thumb2. · c8c93307
      	* gcc.target/arm/ctz.c: Don't specify -march, require thumb2.
      	* gcc.target/arm/pr42879.c: Likewise.
      	* gcc.target/arm/pr45701-3.c: Likewise.
      
      From-SVN: r175310
      Janis Johnson committed
    • stl_construct.h: Update Copyright years. · bd9db3b8
      2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/stl_construct.h: Update Copyright years.
      	* include/bits/stl_uninitialized.h: Likewise.
      
      From-SVN: r175309
      Paolo Carlini committed
    • 20031108-1.c: Require thumb1 or thumb2. · 280216a9
      	* gcc.target/arm/20031108-1.c: Require thumb1 or thumb2.
      	* gcc.target/arm/pr40482.c: Likewise.
      	* gcc.target/arm/stack-corruption.c: Likewise.
      
      From-SVN: r175308
      Janis Johnson committed
    • re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib) · 6be80923
      	PR regression/47836
      	PR bootstrap/23656
      	PR other/47733
      	PR bootstrap/49247
      	* configure.ac (target_libraries): Remove target-libiberty.
      	Remove case-statement setting skipdirs=target-libiberty for
      	multiple targets.  Remove checking target_configdirs and
      	removing target-libiberty but keeping target-libgcc if
      	otherwise empty.
      	* Makefile.def (target_modules): Don't add libiberty.
      	(dependencies): Remove all traces of target-libiberty.
      	* configure, Makefile.in: Regenerate.
      (fixing PR annotations in the ChangeLog entry)
      
      From-SVN: r175307
      Hans-Peter Nilsson committed
    • Makefile.am: Add alloc_traits.h headers. · e8eb60bd
      2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* include/Makefile.am: Add alloc_traits.h headers.
      	* include/Makefile.in: Regenerate.
      	* include/std/memory: Include uses_allocator.h explicitly.
      	* include/bits/allocator.h (allocator_traits): Move to ...
      	* include/bits/alloc_traits.h: New header.
      	* include/ext/alloc_traits.h (__alloc_traits): Extension to provide
      	a common allocator interface for C++98 and C++0x.
      	* include/bits/stl_construct.h: Use __alloc_traits.
      	* include/bits/stl_uninitialized.h: Likewise.
      
      From-SVN: r175305
      Jonathan Wakely committed
    • re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib) · 8499116a
      	PR47836
      	PR23656
      	PR47733
      	PR49247
      	* configure.ac (target_libraries): Remove target-libiberty.
      	Remove case-statement setting skipdirs=target-libiberty for
      	multiple targets.  Remove checking target_configdirs and
      	removing target-libiberty but keeping target-libgcc if
      	otherwise empty.
      	* Makefile.def (target_modules): Don't add libiberty.
      	(dependencies): Remove all traces of target-libiberty.
      	* configure, Makefile.in: Regenerate.
      
      From-SVN: r175304
      Hans-Peter Nilsson committed
    • re PR tree-optimization/49493 (ICE: in insert_vi_for_tree, at… · 9c7c9f10
      re PR tree-optimization/49493 (ICE: in insert_vi_for_tree, at tree-ssa-structalias.c:2637 with -O -fipa-pta)
      
      2011-06-22  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/49493
      	* tree-ssa-structalias.c (get_constraint_for_ssa_var):
      	Refer to the alias target of variables.
      	(associate_varinfo_to_alias_1): Remove.
      	(ipa_pta_execute): Do not associate aliases with anything.
      	* cgraph.h (varpool_alias_aliased_node): Fix cut&paste errors.
      	(cgraph_function_node): Likewise.
      	(cgraph_function_or_thunk_node): Likewise.
      	(varpool_variable_node): Likewise.
      
      	* gcc.dg/ipa/ipa-pta-17.c: New testcase.
      
      From-SVN: r175300
      Richard Guenther committed
    • Revert: · 7b902b81
      	2011-06-22  Uros Bizjak  <ubizjak@gmail.com>
      
      	* gcc.dg/torture/tls/run-le.c: Skip for -pie on alpha*-*-linux*.
      	* gcc.dg/torture/tls/tls-test.c: Ditto.
      	* gcc.dg/torture/tls/thr-init-1.c: Ditto.
      	* gcc.dg/torture/tls/thr-init-2.c: Ditto.
      
      
      Co-Authored-By: Dmitry Melnik <dm@ispras.ru>
      
      From-SVN: r175299
      Uros Bizjak committed
    • arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo. · 7cf13d1f
      	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect
      	typo.
      	* config.gcc (arm*-*-linux*): Default to gnu tls.
      	(arm*-*-*): Add --with-tls option.
      	(all_defaults): Add 'tls'.
      
      From-SVN: r175298
      Nathan Sidwell committed
    • reg-notes.def (REG_CFA_WINDOW_SAVE): New. · 78a8eb4e
      	* reg-notes.def (REG_CFA_WINDOW_SAVE): New.
      	* dwarf2out.c (dwarf2out_frame_debug): Handle it.
      	(dwarf2out_frame_debug_cfa_window_save): Rename from
      	dwarf2out_window_save; make static.
      	* tree.h (dwarf2out_window_save): Don't declare.
      
      	* config/sparc/sparc.c (sparc_dwarf_handle_frame_unspec): Remove.
      	(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
      	(emit_save_register_window): Rename from gen_save_register_window;
      	emit the insn and add REG_CFA_* notes.
      	(sparc_expand_prologue): Update to match.
      	* config/sparc/sparc.md (save_register_window_1): Simplify from
      	save_register_window<P:mode>.
      
      From-SVN: r175297
      Richard Henderson committed
    • re PR c++/49260 ([C++0x] lambda-eh2.C fails execution) · 8288cc73
      	PR c++/49260
      	* call.c (build_call_a): Set cp_function_chain->can_throw here.
      	(build_cxx_call): Not here.
      
      From-SVN: r175296
      Jason Merrill committed
    • Check TARGET_PARTIAL_REG_STALL in imul to lea peepholes. · 3b4c46d7
      2011-06-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/49497
      	* config/i386/i386.md (*lea_general_2): Always allow SImode.
      	(*lea_general_2_zext): Likewise.
      	(imul to lea peepholes): Use const359_operand and check
      	TARGET_PARTIAL_REG_STALL.
      
      	* config/i386/predicates.md (const359_operand): New.
      
      From-SVN: r175295
      H.J. Lu committed
    • * cgraphunit.c (assemble_thunk): Use correct return type. · 4399cf59
      From-SVN: r175294
      Michael Matz committed
    • arm.c (neon_immediate_valid_for_shift): New function. · 31a0c825
      2011-06-22  Dmitry Plotnikov  <dplotnikov@ispras.ru>
      	Dmitry Melnik  <dm@ispras.ru>
      
      	* config/arm/arm.c (neon_immediate_valid_for_shift): New function.
      	(neon_output_shift_immediate): Ditto.
      	* config/arm/arm-protos.h (neon_immediate_valid_for_shift): New
      	prototype.
      	(neon_output_shift_immediate): Ditto.
      	* config/arm/neon.md (vashl<mode>3): Modified constraint.
      	(vashr<mode>3_imm): New insn pattern.
      	(vlshr<mode>3_imm): Ditto.
      	(vashr<mode>3): Modified constraint.
      	(vlshr<mode>3): Ditto.
      	* config/arm/predicates.md (imm_for_neon_lshift_operand): New
      	predicate.
      	(imm_for_neon_rshift_operand): Ditto.
      	(imm_lshift_or_reg_neon): Ditto.
      	(imm_rshift_or_reg_neon): Ditto.
      
      	* optabs.c (init_optabs): Init optab codes for vashl, vashr, vlshr.
      
      testsuite:
      
      	* gcc.target/arm/neon-vshr-imm-1.c: New testcase.
      	* gcc.target/arm/neon-vshl-imm-1.c: New testcase.
      	* gcc.target/arm/neon-vlshr-imm-1.c: New testcase.
      
      
      Co-Authored-By: Dmitry Melnik <dm@ispras.ru>
      
      From-SVN: r175293
      Dmitry Plotnikov committed
    • enable-execute-stack-empty.c (__enable_execute_stack): Add prototype. · 1da9434b
      	* enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.
      
      From-SVN: r175292
      Uros Bizjak committed
    • run-le.c: Skip for -pie on alpha*-*-linux*. · 070387a4
      	* gcc.dg/torture/tls/run-le.c: Skip for -pie on alpha*-*-linux*.
      	* gcc.dg/torture/tls/tls-test.c: Ditto.
      	* gcc.dg/torture/tls/thr-init-1.c: Ditto.
      	* gcc.dg/torture/tls/thr-init-1.c: Ditto.
      
      From-SVN: r175291
      Uros Bizjak committed
    • tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for builtin calls even if… · 36dc1a88
      tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for builtin calls even if likelyvalue is not CONSTANT.
      
      	* tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
      	builtin calls even if likelyvalue is not CONSTANT.
      	Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC.
      	Return get_value_for_expr of first operand
      	for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}.
      	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
      	BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like
      	their non-checking counterparts.
      	(call_may_clobber_ref_p_1): Likewise.
      	(stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK
      	like their non-checking counterparts.
      	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
      	Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK
      	like their non-checking counterparts.
      	(find_func_clobbers): Likewise.
      	* tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK
      	like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC.
      
      From-SVN: r175290
      Jakub Jelinek committed
    • dwarf2out.c (size_of_loc_descr, [...]): Allow DW_OP_GNU_convert and… · 41cd4957
      dwarf2out.c (size_of_loc_descr, [...]): Allow DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead of...
      
      	* dwarf2out.c (size_of_loc_descr, output_loc_operands,
      	mark_base_types, hash_loc_operands, compare_loc_operands): Allow
      	DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead
      	of base type reference as argument.
      	(resolve_addr_in_expr): Likewise.  Fix keep computation.
      	(convert_descriptor_to_signed): Renamed to...
      	(convert_descriptor_to_mode): ... this.  For wider types convert
      	to unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to
      	untyped.
      	(typed_binop): New function.
      	(scompare_loc_descriptor, ucompare_loc_descriptor,
      	minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
      	default to unsigned type instead of signed.
      
      From-SVN: r175289
      Jakub Jelinek committed
    • re PR debug/47858 (IPA-SRA decreases quality of debug info) · ddb555ed
      	PR debug/47858
      	* gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND.
      	(gimple_build_debug_source_bind_stat): New prototype.
      	(gimple_build_debug_source_bind): Define.
      	(gimple_debug_source_bind_p, gimple_debug_source_bind_get_var,
      	gimple_debug_source_bind_get_value,
      	gimple_debug_source_bind_get_value_ptr,
      	gimple_debug_source_bind_set_var,
      	gimple_debug_source_bind_set_value): New inlines.
      	* gimple.c (gimple_build_debug_source_bind_stat): New function.
      	* gimple-pretty-print.c (dump_gimple_debug): Handle
      	GIMPLE_DEBUG_SOURCE_BIND.
      	* sese.c (rename_uses): Handle gimple_debug_source_bind_p.
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
      	* tree-parloops.c (eliminate_local_variables,
      	separate_decls_in_region): Likewise.
      	(separate_decls_in_region_debug): Renamed from
      	separate_decls_in_region_debug_bind.  Handle
      	gimple_debug_source_bind_p.
      	* tree.h (decl_debug_args_lookup, decl_debug_args_insert): New
      	prototypes.
      	(DECL_HAS_DEBUG_ARGS_P): Define.
      	(struct tree_function_decl): Add has_debug_args_flag field.
      	* tree.c (debug_args_for_decl): New variable.
      	(decl_debug_args_lookup, decl_debug_args_insert): New functions.
      	* tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts.
      	(rewrite_debug_stmt_uses): New function.
      	(rewrite_stmt): Use it to rewrite debug stmt uses.
      	* rtl.def (DEBUG_PARAMETER_REF): New.
      	* rtl.h (DEBUG_PARAMETER_REF_DECL): Define.
      	* cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle
      	DEBUG_PARAMETER_REF.
      	* rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise.
      	* print-rtl.c (print_rtx): Likewise.
      	* tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of
      	SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind
      	debug stmts in the first bb.
      	* tree-inline.c (remap_ssa_name): If remapping default def
      	of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in
      	a source bind debug stmt.
      	(remap_gimple_stmt): Handle gimple_debug_source_bind_p.
      	(maybe_move_debug_stmts_to_successors): Likewise.
      	(copy_debug_stmt): Likewise.  Avoid shadowing a variable.
      	(tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy
      	debug args vector from old_decl to new_decl.
      	* ipa-prop.c (ipa_modify_call_arguments): For optimized away
      	or modified parameters, add debug bind stmts before call
      	setting DEBUG_EXPR_DECL which is remembered in debug args
      	vector.
      	* cfgexpand.c (expand_call_stmt): Call expand_debug_expr
      	on DECL_DEBUG_EXPRs from debug args vector.
      	(expand_debug_source_expr): New function.
      	(expand_debug_locations): Use it for source bind insns.
      	(expand_gimple_basic_block): Handle gimple_debug_source_bind_p.
      	* var-tracking.c (prepare_call_arguments): Add debug args
      	to call_arguments if any.
      	* dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr,
      	output_loc_operands, output_loc_operands_raw,
      	resolve_addr_in_expr, compare_loc_operands): Handle
      	DW_OP_GNU_parameter_ref.
      	(get_ref_die_offset, parameter_ref_descriptor): New functions.
      	(mem_loc_descriptor): Handle DEBUG_PARAMETER_REF.
      	(gen_subprogram_die): Handle parameters identified by
      	DEBUG_PARAMETER_REF.
      
      	* dwarf2.h (enum dwarf_location_atom): Add DW_OP_GNU_parameter_ref.
      
      From-SVN: r175288
      Jakub Jelinek committed
    • invoke.texi (ARM Options): Document -mtls-dialect option. · ccdc2164
      	* doc/invoke.texi (ARM Options): Document -mtls-dialect option.
      	* doc/install.texi (Configuration): Document --with-tls.
      	* config.gcc (arm*-*-linux*): Default to gnu tls.
      	(arm*-*-*): Add --with-tls option.
      	(all_defaults): Add 'tls'.
      	* config/arm/arm.c (enum tls_reloc): Add TLS_DESCSEQ.
      	(arm_call_tls_get_addr): Clean up. Assert not tls descriptor.
      	(arm_tls_descseq_addr): New.
      	(legitimize_tls_address): Add tlsdesc support.
      	(arm_cannot_copy_insn_p): Check for tlscall.
      	(arm_emit_tls_decoration): Likewise.
      	* config/arm/arm.h (TARGET_GNU2_TLS): New.
      	(OPTION_DEFAULT_SPECS): Add with-tls support.
      	* config/arm/arm.md (R1_REGNUM): Define.
      	(tlscall): New.
      	* config/arm/arm.opt (tls_type): New enumeration type and values.
      	(mtls-dialect): New switch.
      	* config/arm/arm-opts.h (enum tls_type): New.
      
      	testsuite/
      	* gcc.target/arm/tlscall.c: New.
      
      From-SVN: r175287
      Nathan Sidwell committed
    • In gcc/: 2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com> · 70e41a6a
      In gcc/:
      2011-06-21  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	* attribs.c (register_attribute): Added assert to check that all
      	attribute specs are registered with a name that is not empty and
      	does not start with '_'.
      	(decl_attributes): Avoid the lookup of the "naked" attribute spec
      	if the function has no attributes.
      	* tree.c (is_attribute_with_length_p): Removed.
      	(is_attribute_p): Removed.
      	(private_is_attribute_p): New.  
      	(private_lookup_attribute): New.
      	(lookup_attribute): Removed.
      	(lookup_ident_attribute): New.
      	(remove_attribute): Require the first argument to be in the form
      	'text', not '__text__'.  Updated asserts.
      	(merge_attributes): Use lookup_ident_attributes instead of
      	lookup_attribute.
      	(merge_dllimport_decl_attributes): Use remove_attribute.
      	(attribute_list_contained): Likewise.
      	(attribute_list_equal): Immediately return 1 if the arguments are
      	identical pointers.
      	* tree.h (is_attribute_p): Made inline.  Return a 'bool', not an
      	'int'.  Require the first argument to be in the form 'text', not
      	'__text__'.  Require the second argument to be an identifier.
      	(lookup_attribute): Made inline.  Require the first argument to be
      	in the form 'text', not '__text__'.
      	(private_is_attribute_p, private_lookup_attribute): New.
      	Updated comments.
      
      From-SVN: r175286
      Nicola Pero committed