platform/upstream/gcc.git
13 years agore PR c++/36435 (Partial ordering of explicit specialization should include return...
Jason Merrill [Thu, 23 Jun 2011 16:52:32 +0000 (12:52 -0400)]
re PR c++/36435 (Partial ordering of explicit specialization should include return type)

PR c++/36435
* pt.c (most_specialized_instantiation): Do check return types.

From-SVN: r175338

13 years agore PR middle-end/49373 (Many testcase failures)
Jan Hubicka [Thu, 23 Jun 2011 16:45:08 +0000 (18:45 +0200)]
re PR middle-end/49373 (Many testcase failures)

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

13 years agoparams.c: Include common/common-target.h.
Joseph Myers [Thu, 23 Jun 2011 10:41:42 +0000 (11:41 +0100)]
params.c: Include common/common-target.h.

* 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

13 years agotie2.cc: Fix for C++0x mode.
Jonathan Wakely [Thu, 23 Jun 2011 10:32:23 +0000 (10:32 +0000)]
tie2.cc: Fix for C++0x mode.

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

13 years agore PR bootstrap/49383 (powerpc64-linux bootstrap failure due to ice in cgraph_only_ca...
Alan Modra [Thu, 23 Jun 2011 02:21:01 +0000 (11:51 +0930)]
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

13 years agoDaily bump.
GCC Administrator [Thu, 23 Jun 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175327

13 years agosocket.cc: Use variable and remove attribute.
Jonathan Wakely [Wed, 22 Jun 2011 22:46:14 +0000 (22:46 +0000)]
socket.cc: Use variable and remove attribute.

2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

* testsuite/20_util/bind/socket.cc: Use variable and remove attribute.

From-SVN: r175322

13 years agopat_trie_base.hpp: Avoid -Wall warning.
Paolo Carlini [Wed, 22 Jun 2011 22:28:56 +0000 (22:28 +0000)]
pat_trie_base.hpp: Avoid -Wall warning.

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

13 years agoinvoke.cc: Avoid -Wall warnings.
Paolo Carlini [Wed, 22 Jun 2011 21:46:17 +0000 (21:46 +0000)]
invoke.cc: Avoid -Wall warnings.

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

13 years agore PR middle-end/49373 (Many testcase failures)
Hans-Peter Nilsson [Wed, 22 Jun 2011 21:38:20 +0000 (21:38 +0000)]
re PR middle-end/49373 (Many testcase failures)

PR middle-end/49373
* g++.dg/torture/pr43879-1_1.C: Xfail for -O1 and above, except -flto.

From-SVN: r175317

13 years agore PR regression/47836 (Some Cross Compiler can't build target-libiberty or target...
Hans-Peter Nilsson [Wed, 22 Jun 2011 21:30:19 +0000 (21:30 +0000)]
re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib)

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

13 years agore PR libgomp/49490 (suboptimal load balancing in loops)
Jakub Jelinek [Wed, 22 Jun 2011 20:39:25 +0000 (22:39 +0200)]
re PR libgomp/49490 (suboptimal load balancing in loops)

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

13 years agore PR debug/49496 (-fcompare-debug failure (length) with -O -ftree-vectorize)
Jakub Jelinek [Wed, 22 Jun 2011 20:37:54 +0000 (22:37 +0200)]
re PR debug/49496 (-fcompare-debug failure (length) with -O -ftree-vectorize)

PR debug/49496
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
uses.

* gcc.dg/pr49496.c: New test.

From-SVN: r175314

13 years agoscd42-3.c: Allow -march-xscale; skip if -mcpu is not xscale.
Janis Johnson [Wed, 22 Jun 2011 20:29:53 +0000 (20:29 +0000)]
scd42-3.c: Allow -march-xscale; skip if -mcpu is not xscale.

* gcc.target/arm/scd42-3.c: Allow -march-xscale; skip if -mcpu
is not xscale.

From-SVN: r175312

13 years ago* gcc.target/arm/thumb-bitfld1.c: Don't specify -march, require thumb1.
Janis Johnson [Wed, 22 Jun 2011 20:28:29 +0000 (20:28 +0000)]
* gcc.target/arm/thumb-bitfld1.c: Don't specify -march, require thumb1.

From-SVN: r175311

13 years agoctz.c: Don't specify -march, require thumb2.
Janis Johnson [Wed, 22 Jun 2011 20:27:40 +0000 (20:27 +0000)]
ctz.c: Don't specify -march, require thumb2.

* 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

13 years agostl_construct.h: Update Copyright years.
Paolo Carlini [Wed, 22 Jun 2011 20:27:21 +0000 (20:27 +0000)]
stl_construct.h: Update Copyright years.

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

13 years ago20031108-1.c: Require thumb1 or thumb2.
Janis Johnson [Wed, 22 Jun 2011 20:26:35 +0000 (20:26 +0000)]
20031108-1.c: Require thumb1 or thumb2.

* 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

13 years agore PR regression/47836 (Some Cross Compiler can't build target-libiberty or target...
Hans-Peter Nilsson [Wed, 22 Jun 2011 20:17:47 +0000 (20:17 +0000)]
re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib)

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

13 years agoMakefile.am: Add alloc_traits.h headers.
Jonathan Wakely [Wed, 22 Jun 2011 19:57:12 +0000 (19:57 +0000)]
Makefile.am: Add alloc_traits.h headers.

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

13 years agore PR regression/47836 (Some Cross Compiler can't build target-libiberty or target...
Hans-Peter Nilsson [Wed, 22 Jun 2011 19:40:45 +0000 (19:40 +0000)]
re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib)

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

13 years agore PR tree-optimization/49493 (ICE: in insert_vi_for_tree, at tree-ssa-structalias...
Richard Guenther [Wed, 22 Jun 2011 18:02:06 +0000 (18:02 +0000)]
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

13 years agoRevert:
Uros Bizjak [Wed, 22 Jun 2011 17:27:07 +0000 (19:27 +0200)]
Revert:

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

13 years agoarm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.
Nathan Sidwell [Wed, 22 Jun 2011 17:01:17 +0000 (17:01 +0000)]
arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.

* 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

13 years agoreg-notes.def (REG_CFA_WINDOW_SAVE): New.
Richard Henderson [Wed, 22 Jun 2011 16:26:52 +0000 (09:26 -0700)]
reg-notes.def (REG_CFA_WINDOW_SAVE): New.

* 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

13 years agore PR c++/49260 ([C++0x] lambda-eh2.C fails execution)
Jason Merrill [Wed, 22 Jun 2011 15:55:22 +0000 (11:55 -0400)]
re PR c++/49260 ([C++0x] lambda-eh2.C fails execution)

PR c++/49260
* call.c (build_call_a): Set cp_function_chain->can_throw here.
(build_cxx_call): Not here.

From-SVN: r175296

13 years agoCheck TARGET_PARTIAL_REG_STALL in imul to lea peepholes.
H.J. Lu [Wed, 22 Jun 2011 15:29:43 +0000 (15:29 +0000)]
Check TARGET_PARTIAL_REG_STALL in imul to lea peepholes.

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

13 years ago* cgraphunit.c (assemble_thunk): Use correct return type.
Michael Matz [Wed, 22 Jun 2011 13:59:03 +0000 (13:59 +0000)]
* cgraphunit.c (assemble_thunk): Use correct return type.

From-SVN: r175294

13 years agoarm.c (neon_immediate_valid_for_shift): New function.
Dmitry Plotnikov [Wed, 22 Jun 2011 11:57:52 +0000 (11:57 +0000)]
arm.c (neon_immediate_valid_for_shift): New function.

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

13 years agoenable-execute-stack-empty.c (__enable_execute_stack): Add prototype.
Uros Bizjak [Wed, 22 Jun 2011 11:20:07 +0000 (13:20 +0200)]
enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.

* enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.

From-SVN: r175292

13 years agorun-le.c: Skip for -pie on alpha*-*-linux*.
Uros Bizjak [Wed, 22 Jun 2011 11:16:16 +0000 (13:16 +0200)]
run-le.c: Skip for -pie on alpha*-*-linux*.

* 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

13 years agotree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for builtin calls even if likely...
Jakub Jelinek [Wed, 22 Jun 2011 10:46:36 +0000 (12:46 +0200)]
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

13 years agodwarf2out.c (size_of_loc_descr, [...]): Allow DW_OP_GNU_convert and DW_OP_GNU_reinter...
Jakub Jelinek [Wed, 22 Jun 2011 10:44:56 +0000 (12:44 +0200)]
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

13 years agore PR debug/47858 (IPA-SRA decreases quality of debug info)
Jakub Jelinek [Wed, 22 Jun 2011 10:41:58 +0000 (12:41 +0200)]
re PR debug/47858 (IPA-SRA decreases quality of debug info)

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

13 years agoinvoke.texi (ARM Options): Document -mtls-dialect option.
Nathan Sidwell [Wed, 22 Jun 2011 09:57:02 +0000 (09:57 +0000)]
invoke.texi (ARM Options): Document -mtls-dialect option.

* 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

13 years agoIn gcc/: 2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Wed, 22 Jun 2011 09:52:55 +0000 (09:52 +0000)]
In gcc/: 2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>

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

13 years agoChangeLog: Fix formatting.
Uros Bizjak [Wed, 22 Jun 2011 06:22:40 +0000 (08:22 +0200)]
ChangeLog: Fix formatting.

* ChangeLog: Fix formatting.
* testsuite/ChangeLog: Ditto.

From-SVN: r175285

13 years agore PR c++/49172 ([C++0x][constexpr] References should be declarable with constexpr)
Jason Merrill [Wed, 22 Jun 2011 04:18:02 +0000 (00:18 -0400)]
re PR c++/49172 ([C++0x][constexpr] References should be declarable with constexpr)

PR c++/49172
* decl.c (cp_finish_decl): Adjust init_const_expr_p for refs.
(grokdeclarator): constexpr doesn't apply const for refs.
* parser.c (cp_parser_initializer_clause): Don't call
maybe_constant_value here.
* call.c (initialize_reference): Handle constexpr.

From-SVN: r175284

13 years agoDaily bump.
GCC Administrator [Wed, 22 Jun 2011 00:18:06 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175283

13 years agogogo-tree.cc (Gogo::define_builtin_function_trees): Change BUILT_IN_ADD_AND_FETCH...
Andrew MacLeod [Tue, 21 Jun 2011 23:03:09 +0000 (23:03 +0000)]
gogo-tree.cc (Gogo::define_builtin_function_trees): Change BUILT_IN_ADD_AND_FETCH to BUILT_IN_SYNC_ADD_AND_FETCH.

* gogo-tree.cc (Gogo::define_builtin_function_trees): Change
BUILT_IN_ADD_AND_FETCH to BUILT_IN_SYNC_ADD_AND_FETCH.

From-SVN: r175278

13 years agomove.h (__is_nothrow_swappable): Add.
Daniel Krugler [Tue, 21 Jun 2011 23:01:03 +0000 (23:01 +0000)]
move.h (__is_nothrow_swappable): Add.

2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (__is_nothrow_swappable): Add.
(swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
* include/bits/algorithmfwd.h: Adjust.
* testsuite/25_algorithms/swap/noexcept.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r175277

13 years agore PR c++/49482 ([C++0x] unused parameter warning on lambda in function template)
Jason Merrill [Tue, 21 Jun 2011 20:07:45 +0000 (16:07 -0400)]
re PR c++/49482 ([C++0x] unused parameter warning on lambda in function template)

PR c++/49482
* semantics.c (maybe_add_lambda_conv_op): Call mark_exp_read for
static fn parameters.

From-SVN: r175273

13 years agocall.c (add_builtin_candidates): Use cv_unqualified rather than TYPE_MAIN_VARIANT.
Jason Merrill [Tue, 21 Jun 2011 19:05:33 +0000 (15:05 -0400)]
call.c (add_builtin_candidates): Use cv_unqualified rather than TYPE_MAIN_VARIANT.

* call.c (add_builtin_candidates): Use cv_unqualified rather than
TYPE_MAIN_VARIANT.
* pt.c (tsubst_arg_types): Likewise.
* except.c (build_throw): Use cv_unqualified.

From-SVN: r175272

13 years agore PR c++/49418 (G++ discards cv-quals from template parameter types)
Jason Merrill [Tue, 21 Jun 2011 19:05:25 +0000 (15:05 -0400)]
re PR c++/49418 (G++ discards cv-quals from template parameter types)

PR c++/49418
* call.c (cxx_type_promotes_to): Don't strip cv-quals.
* semantics.c (lambda_return_type): Strip them here.

From-SVN: r175271

13 years agocosmetic. Add sync_ to all the expand_builtin defines which do not match the actual...
Andrew MacLeod [Tue, 21 Jun 2011 19:04:33 +0000 (19:04 +0000)]
cosmetic. Add sync_ to all the expand_builtin defines which do not match the actual builtin_sync_ names.

2011-06-21  Andrew MacLeod  <amacleod@redhat.com>

* builtins.c: Add sync_ or SYNC__ to builtin names.
* sync-builtins.def: Add sync_ or SYNC__ to builtin names.
* omp-low.c: Add sync_ or SYNC__ to builtin names.
* c-family/c-common.c: Add sync_ or SYNC__ to builtin names.
* c-family/c-omp.c: Add sync_ or SYNC__ to builtin names.
* java/builtins.c: Add sync_ or SYNC__ to builtin names.
* java/expr.c: Add sync_ or SYNC__ to builtin names.
* cp/semantics.c: Add sync_ or SYNC__ to builtin names.
* fortran/trans-openmp.c: Add sync_ or SYNC__ to builtin names.
* fortran/trans-stmt.c: Add sync_ or SYNC__ to builtin names.
* fortran/trans-decl.c: Add sync_ or SYNC__ to builtin names.

From-SVN: r175270

13 years agore PR target/33049 ([avr] bit extraction non optimal, inversing logic solves problem)
Georg-Johann Lay [Tue, 21 Jun 2011 17:30:54 +0000 (17:30 +0000)]
re PR target/33049 ([avr] bit extraction non optimal, inversing logic solves problem)

PR target/33049
* config/avr/avr.md (extzv): New expander.
(*extzv): New insn.
(*extzv.qihi1, *extzv.qihi2): New insn-and-split.
* config/avr/constraints.md (C04): New constraint.
* doc/md.texi (Machine Constraints): Document it.

From-SVN: r175269

13 years agore PR libgcj/49314 (md5test, shatest output FAILs on Tru64 UNIX)
Rainer Orth [Tue, 21 Jun 2011 17:09:57 +0000 (17:09 +0000)]
re PR libgcj/49314 (md5test, shatest output FAILs on Tru64 UNIX)

PR libgcj/49314
* gnu/gcj/convert/natIconv.cc (iconv_init): Pad in[] with NUL byte.

From-SVN: r175266

13 years agore PR middle-end/49489 (gcc.c-torture/execute/builtin-bitops-1.c fails on x86_64...
Jakub Jelinek [Tue, 21 Jun 2011 16:25:57 +0000 (18:25 +0200)]
re PR middle-end/49489 (gcc.c-torture/execute/builtin-bitops-1.c fails on x86_64-linux)

PR middle-end/49489
* builtins.c (expand_builtin_unop): Call expand_unop with 0 as
unsignedp argument instead of 1 for clrsb_optab.
(fold_builtin_bitop): Fix masking for width > HOST_BITS_PER_WIDE_INT
and < 2 * HOST_BITS_PER_WIDE_INT.  Optimize BUILT_IN_CLRSB*.
(fold_builtin_1): Call fold_builtin_binop for BUILT_IN_CLRSB*.
* optabs.c (widen_leading): Call widen_operand and expand_unop
with 0 as unsignedp argument instead of 1 for clrsb_optab.
(expand_unop): Subtract difference of mode sizes also for
clrsb_optab.

From-SVN: r175265

13 years ago* config/avr/avr.md (*jcindirect_jump): Fix build warning.
Georg-Johann Lay [Tue, 21 Jun 2011 16:16:11 +0000 (16:16 +0000)]
* config/avr/avr.md (*jcindirect_jump): Fix build warning.

From-SVN: r175264

13 years agogensupport.c (add_define_attr): New static function.
Bernd Schmidt [Tue, 21 Jun 2011 14:38:38 +0000 (14:38 +0000)]
gensupport.c (add_define_attr): New static function.

* gensupport.c (add_define_attr): New static function.
(is_predicable): Allow multi-alternative lists for the "predicable"
attribute.
(modify_attr_enabled_ce, alter_attrs_for_insn): New static functions.
(process_one_cond_exec): Call alter_attrs_for_insn.
* doc/md.texi (Defining Attributes): Mention some standard names.
(Conditional Execution): Update documentation for "predicable".

From-SVN: r175263

13 years agoshared-object.mk (c_flags-$o): Save c_flags.
Rainer Orth [Tue, 21 Jun 2011 14:26:13 +0000 (14:26 +0000)]
shared-object.mk (c_flags-$o): Save c_flags.

* shared-object.mk (c_flags-$o): Save c_flags.
($(base)$(objext)): Use it.
($(base)_s$(objext)): Likewise.

From-SVN: r175262

13 years agoMakefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
Bernd Schmidt [Tue, 21 Jun 2011 14:16:39 +0000 (14:16 +0000)]
Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.

libgcc/
* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
* libgcc-std.ver.in (GCC_4.7.0): New section.

gcc/
* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
__builtin_clrsbll): Document.
* doc/rtl.texi (clrsb): New entry.
* optabs.c (widen_leading): Renamed from widen_clz.  New argument
UNOPTAB.  All callers changed.  Use UNOPTAB instead of clz_optab.
(expand_unop): Handle clrsb_optab.
(init_optabs): Initialize it.
* optabs.h (enum optab_index): New entry OTI_clrsb.
(clrsb_optab): Define.
* genopinit.c (optabs): Add an entry for it.
* builtins.c (expand_builtin): Handle clrsb builtin functions.
* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
BUILT_IN_CLRSBLL): New.
* rtl.def (CLRSB): New code.
* dwarf2out.c (mem_loc_descriptor): Handle it.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
and popcount.
* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
(__ctzDI2): Move declaration.
* config/bfin/bfin.md (clrsbsi2): New expander.
(signbitssi2): Use the CLRSB rtx.
(clrsbhi2): Renamed from signbitshi2.  Use the CLRSB rtx.
* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.

gcc/testsuite/
* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
my_clrsb test functions.
(main): Test clrsb.
* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
test_sll, test_ull): Add clrsb tests.
* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
clrsbll.

From-SVN: r175261

13 years agore PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings...
Janus Weil [Tue, 21 Jun 2011 12:12:51 +0000 (14:12 +0200)]
re PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error)

2011-06-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49112
* class.c (gfc_find_derived_vtab): Make vtab and default initialization
symbols SAVE_IMPLICIT.

2011-06-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49112
* gfortran.dg/class_44.f03: New.

From-SVN: r175257

13 years agoipa-inline-transform.c (inline_transform): Fix previous change.
Richard Guenther [Tue, 21 Jun 2011 12:07:19 +0000 (12:07 +0000)]
ipa-inline-transform.c (inline_transform): Fix previous change.

2011-06-21  Richard Guenther  <rguenther@suse.de>

* ipa-inline-transform.c (inline_transform): Fix previous
change.

From-SVN: r175256

13 years agore PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3)
Ira Rosen [Tue, 21 Jun 2011 11:58:33 +0000 (11:58 +0000)]
re PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3)

        PR tree-optimization/49478
        * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
        with constant operand.

From-SVN: r175255

13 years agoipa-inline-transform.c (inline_transform): Fix typo.
Richard Guenther [Tue, 21 Jun 2011 11:13:08 +0000 (11:13 +0000)]
ipa-inline-transform.c (inline_transform): Fix typo.

2011-06-21  Richard Guenther  <rguenther@suse.de>

* ipa-inline-transform.c (inline_transform): Fix typo.

From-SVN: r175253

13 years agore PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf")
Richard Guenther [Tue, 21 Jun 2011 11:02:38 +0000 (11:02 +0000)]
re PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf")

2011-06-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49483
* tree-vect-stmts.c (vectorizable_assignment): Also handle
VIEW_CONVERT_EXPR conversions.

* gcc.dg/vect/vect-120.c: New testcase.

From-SVN: r175252

13 years agogcc.pot: Regenerate.
Joseph Myers [Tue, 21 Jun 2011 10:33:57 +0000 (11:33 +0100)]
gcc.pot: Regenerate.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r175251

13 years agoFixed several pathnames to be relative to gcc/testsuite.
Rainer Orth [Tue, 21 Jun 2011 10:32:38 +0000 (10:32 +0000)]
Fixed several pathnames to be relative to gcc/testsuite.

From-SVN: r175250

13 years agogcc_update (gcc/config/avr/avr-tables.opt): New dependencies.
Joseph Myers [Tue, 21 Jun 2011 10:22:19 +0000 (11:22 +0100)]
gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.

contrib:
* gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.

gcc:
* config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
* config/avr/avr-tables.opt: New file (generated).
* config.gcc (avr-*-*): Use avr/avr-tables.opt.
* config/avr/avr-devices.c (avr_mcu_types): Move contents to
avr-mcus.def.
* config/avr/avr.c (avr_help, TARGET_HELP): Remove.
(avr_option_override): Don't process -mmcu= argument here.  Set
avr_current_device using avr_mcu_index.
(avr_file_start): Use avr_current_device->name instead of
avr_mcu_name.
* config/avr/avr.opt (mmcu=): Use Enum.
* config/avr/t-avr (avr-devices.o): Update dependencies.
($(srcdir)/config/avr/avr-tables.opt): New.
* target.def (help): Remove.
* doc/tm.texi.in (TARGET_HELP): Remove.
* doc/tm.texi: Regenerate.
* opts.c: Don't include target.h.
(common_handle_option): Don't call targetm.help.
* system.h (TARGET_HELP): Poison.
* Makefile.in (opts.o): Update dependencies.

From-SVN: r175248

13 years agore PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after...
Ira Rosen [Tue, 21 Jun 2011 09:01:23 +0000 (09:01 +0000)]
re PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after testsuite change)

        PR testsuite/49443
        * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align
        targets.
        * gcc.dg/vect/vect-peel-4.c: Likewise.

From-SVN: r175246

13 years agousegld.h: New file.
Rainer Orth [Tue, 21 Jun 2011 08:53:06 +0000 (08:53 +0000)]
usegld.h: New file.

* config/usegld.h: New file.
* config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
(CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
(LIB_SPEC): Likewise.
Search /lib.
(LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
(RDYNAMIC_SPEC): Handle GNU ld.
[HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC): Define.
(SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
[!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
(STACK_CHECK_STATIC_BUILTIN): Define.
* config/sol2.opt (compat-bsd): Remove.
* config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
* config/sol2-bi.h: New file.
* config/sol2-gld.h: Remove.
* config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
(NO_DBX_BNSYM_ENSYM): Remove.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
(STACK_CHECK_STATIC_BUILTIN): Remove.
Test USE_GLD instead of TARGET_GNU_LD.
* config/i386/sol2-10.h: Rename to ...
* config/i386/sol2-bi.h .. this.
(SUBTARGET_EXTRA_SPECS): Redefine.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
(MULTILIB_DEFAULTS): Remove.
(DEFAULT_ARCH32_P): Define.
(LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
(ARCH64_SUBDIR): Define.
Test USE_GLD instead of TARGET_GNU_LD.
(I386_EMULATION): Rename to ...
(ARCH32_EMULATION): ... this.
(X86_64_EMULATION): Rename to ...
(ARCH64_EMULATION): ... this.
(TARGET_LD_EMULATION): Remove.
(LINK_ARCH_SPEC): Remove.
* config/i386/sol2-gas.h: Remove.
* config/i386/t-sol2-10: Rename to ...
* config/i386/t-sol2-64: ... this.
* config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
(AS_SPARC64_FLAG): Define.
(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
(CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
depending on TARGET_CPU_DEFAULT.
(CPP_CPU_SPEC): Redefine.
(ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
(CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
(ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
ASM_ARCH_DEFAULT_SPEC): Redefine.
(SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
LINK_ARCH_DEFAULT_SPEC.
[USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
[USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
(ARCH64_SUBDIR): Define.
(LINK_ARCH64_SPEC): Redefine.
(CC1_SPEC): Redefine.
(OPTION_DEFAULT_SPECS): Redefine.
(MULTILIB_DEFAULTS): Define.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
[USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
[USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
(NO_DBX_BNSYM_ENSYM): Remove.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
(ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
(TARGET_ASM_NAMED_SECTION): Likewise.
(STACK_CHECK_STATIC_BUILTIN): Remove.
* config/sparc/sol2-bi.h: Remove.
* config/sparc/sol2-gas-bi.h: Remove.
* config/sparc/sol2-gas.h: Remove.
* config/sparc/sol2-gld-bi.h: Remove.
* config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
common parts ...
(*-*-solaris2*): ... here.

From-SVN: r175245

13 years agoRemove >>>> marker.
Jakub Jelinek [Tue, 21 Jun 2011 08:15:36 +0000 (10:15 +0200)]
Remove >>>> marker.

From-SVN: r175243

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:48:45 +0000 (08:48 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175242

13 years agoPR middle-end/49139 PR other/43564 make sure the inline function is inlined
Christian Bruel [Tue, 21 Jun 2011 06:45:05 +0000 (08:45 +0200)]
PR middle-end/49139 PR other/43564 make sure the inline function is inlined

From-SVN: r175241

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:43:26 +0000 (08:43 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175240

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:42:05 +0000 (08:42 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175239

13 years agoMakefile.in (dg_target_exps): Set.
Jakub Jelinek [Tue, 21 Jun 2011 06:27:35 +0000 (08:27 +0200)]
Makefile.in (dg_target_exps): Set.

* Makefile.in (dg_target_exps): Set.
(check_gcc_parallelize): Parallelize gcc testing into 10 jobs
instead of 7, try to divide it more evenly.

* Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
into 6 jobs instead of 3.

* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
check-DEJAGNUnormal[4-9].
(check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
* testsuite/Makefile.in: Regenerated.

From-SVN: r175238

13 years agore PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for...
Jason Merrill [Tue, 21 Jun 2011 02:24:17 +0000 (22:24 -0400)]
re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays)

PR c++/49216
* init.c (build_vec_init): Don't try to use a CONSTRUCTOR when
base is a pointer.
* typeck2.c (process_init_constructor_array): Use {} for classes,
too.
* call.c (convert_like_real): Handle substitution failure.

From-SVN: r175237

13 years agore PR c++/48138 (__attribute__((aligned)) should give an error when applied to a...
Jason Merrill [Tue, 21 Jun 2011 02:24:09 +0000 (22:24 -0400)]
re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a typedef or template parameter, at least in C++0x mode.)

PR c++/48138
* pt.c (canonicalize_type_argument): New.
(convert_template_argument, unify): Use it.

From-SVN: r175236

13 years agoDaily bump.
GCC Administrator [Tue, 21 Jun 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175235

13 years agopr49089: enable avx256 splitting unaligned load/store only when beneficial
Changpeng Fang [Mon, 20 Jun 2011 21:52:32 +0000 (21:52 +0000)]
pr49089: enable avx256 splitting unaligned load/store only when beneficial

* config/i386/i386.c (avx256_split_unaligned_load): New definition.
(avx256_split_unaligned_store): New definition.
(ix86_option_override_internal): Enable avx256 unaligned load/store
splitting only when avx256_split_unaligned_load/store is set.

From-SVN: r175230

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Mon, 20 Jun 2011 21:12:39 +0000 (23:12 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.h (gfc_check_vardef_context): Update prototype.
        (iso_fortran_env_symbol): Handle derived types.
        (symbol_attribute): Add lock_comp.
        * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
        * interface.c (compare_parameter, gfc_procedure_use): Handle
        LOCK_TYPE.
        (compare_actual_formal): Update
        gfc_check_vardef_context call.
        * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
        * intrinsic.c (check_arglist): Ditto.
        * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):
        * Ditto.
        * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
        * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
        * module.c (mio_symbol_attribute): Handle lock_comp.
        (create_derived_type): New function.
        (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
        * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
        * resolve.c (resolve_symbol, resolve_lock_unlock): Add
        * constraint
        checks for LOCK_TYPE.
        (gfc_resolve_iterator, resolve_deallocate_expr,
        resolve_allocate_expr, resolve_code, resolve_transfer): Update
        gfc_check_vardef_context call.
        * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
        * trans-stmt.c (gfc_trans_lock_unlock): New function.
        * trans.c (trans_code): Handle LOCK and UNLOCK.

2011-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_lock_1.f90: Update dg-error.
        * gfortran.dg/coarray_lock_3.f90: New.
        * gfortran.dg/coarray/lock_1.f90: New.

From-SVN: r175228

13 years agoregrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a...
Bernd Schmidt [Mon, 20 Jun 2011 17:16:10 +0000 (17:16 +0000)]
regrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a smaller mode without...

* regrename.c (scan_rtx_reg): Handle the case where we write to an
open chain in a smaller mode without failing the entire block.

From-SVN: r175225

13 years agoscandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report...
Janis Johnson [Mon, 20 Jun 2011 17:08:37 +0000 (17:08 +0000)]
scandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report the reason to the log file.

* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
scan-dump-dem, scan-dump-dem-not): Treat a missing dump file as
unresolved and report the reason to the log file.

From-SVN: r175224

13 years agoscanasm.exp (object-size): Move argument processing earlier to report errors before...
Janis Johnson [Mon, 20 Jun 2011 17:07:24 +0000 (17:07 +0000)]
scanasm.exp (object-size): Move argument processing earlier to report errors before verifying that the...

* lib/scanasm.exp (object-size): Move argument processing earlier
to report errors before verifying that the file exists.  Report
problems detected at runtime as unresolved instead of error and
report their reasons to the log file.

From-SVN: r175223

13 years agoDon't check zero/sign extended hard registers.
H.J. Lu [Mon, 20 Jun 2011 17:03:16 +0000 (17:03 +0000)]
Don't check zero/sign extended hard registers.

2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Don't check zero/sign
extended hard registers.

From-SVN: r175222

13 years agors6000.c (rs6000_cannot_force_const_mem): Match CONST high part large-toc address.
Alan Modra [Mon, 20 Jun 2011 15:05:05 +0000 (00:35 +0930)]
rs6000.c (rs6000_cannot_force_const_mem): Match CONST high part large-toc address.

* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
CONST high part large-toc address.
(rs6000_tls_referenced_p): Make static.
* config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.

From-SVN: r175219

13 years agoCheck zero/sign extended hard registers.
H.J. Lu [Mon, 20 Jun 2011 14:53:48 +0000 (14:53 +0000)]
Check zero/sign extended hard registers.

2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Check zero/sign extended
hard registers.

From-SVN: r175218

13 years agore PR c++/47080 ([C++0x] explicit conversion function return conversions not restrict...
Jason Merrill [Mon, 20 Jun 2011 14:40:38 +0000 (10:40 -0400)]
re PR c++/47080 ([C++0x] explicit conversion function return conversions not restricted to qualifications)

PR c++/47080
* call.c (rejection_reason_code): Add rr_explicit_conversion.
(print_z_candidate): Handle it.
(explicit_conversion_rejection): New.
(build_user_type_conversion_1): Reject an explicit conversion
function that requires more than a qualification conversion.

From-SVN: r175217

13 years agore PR c++/47635 ([C++0x] ICE on invalid code in constructor_name_p, at cp/name-lookup...
Jason Merrill [Mon, 20 Jun 2011 14:40:29 +0000 (10:40 -0400)]
re PR c++/47635 ([C++0x] ICE on invalid code in constructor_name_p, at cp/name-lookup.c:1809)

PR c++/47635
* decl.c (grokdeclarator): Don't set ctype to an ENUMERAL_TYPE.

From-SVN: r175216

13 years agore PR c++/48138 (__attribute__((aligned)) should give an error when applied to a...
Jason Merrill [Mon, 20 Jun 2011 14:40:19 +0000 (10:40 -0400)]
re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a typedef or template parameter, at least in C++0x mode.)

PR c++/48138
* tree.c (strip_typedefs): Use build_aligned_type.

From-SVN: r175215

13 years agore PR c++/49205 ([C++0x] Default constructor with pack expansion parameter not detected)
Jason Merrill [Mon, 20 Jun 2011 14:40:10 +0000 (10:40 -0400)]
re PR c++/49205 ([C++0x] Default constructor with pack expansion parameter not detected)

PR c++/49205
* call.c (sufficient_parms_p): Allow parameter packs too.

From-SVN: r175214

13 years agore PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error...
Jason Merrill [Mon, 20 Jun 2011 14:40:01 +0000 (10:40 -0400)]
re PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error ouput thus printing "&&&")

PR c++/37089
* cp-demangle.c (d_print_comp): Handle reference smashing.

From-SVN: r175213

13 years agore PR c++/43321 ([c++0x] ICE on valid auto)
Jason Merrill [Mon, 20 Jun 2011 14:39:53 +0000 (10:39 -0400)]
re PR c++/43321 ([c++0x] ICE on valid auto)

PR c++/43321
* semantics.c (describable_type): Remove.
* cp-tree.h: Likewise.
* decl.c (cp_finish_decl): Don't call it.
* init.c (build_new): Likewise.
* parser.c (cp_parser_omp_for_loop): Likewise.
* pt.c (tsubst_decl): Likewise.
(do_auto_deduction): If we fail in a template, try again
at instantiation time.

From-SVN: r175212

13 years agore PR c++/43831 ([C++0x] gcc-4.5.0 does not fail invalid lambda captures (against...
Jason Merrill [Mon, 20 Jun 2011 14:39:44 +0000 (10:39 -0400)]
re PR c++/43831 ([C++0x] gcc-4.5.0 does not fail invalid lambda captures (against n3092 5.1.2/8))

PR c++/43831
* parser.c (cp_parser_lambda_introducer): Complain about redundant
captures.
* semantics.c (add_capture): Likewise.
(register_capture_members): Clear IDENTIFIER_MARKED.

From-SVN: r175211

13 years agore PR target/49385 (Invalid RTL intstruction for ARM)
Ramana Radhakrishnan [Mon, 20 Jun 2011 12:15:58 +0000 (12:15 +0000)]
re PR target/49385 (Invalid RTL intstruction for ARM)

Fix PR target/49385

2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR target/49385
* config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
one of the operands is a register.

From-SVN: r175208

13 years agoChangeLog gcc/
Kai Tietz [Mon, 20 Jun 2011 11:49:27 +0000 (13:49 +0200)]
ChangeLog gcc/

2011-06-20  Kai Tietz  <ktietz@redhat.com>

* fold-const.c (fold_binary_loc): Add missing
folding for truth-not operations in combination
with binary and.

ChangeLog gcc/testsuite/

2011-06-20  Kai Tietz  <ktietz@redhat.com>

* gcc.dg/binop-notand1.c: New test.
* gcc.dg/binop-notand2.c: New test.
* gcc.dg/binop-notand3.c: New test.
* gcc.dg/binop-notand4.c: New test.
* gcc.dg/binop-notand5.c: New test.
* gcc.dg/binop-notand6.c: New test.

From-SVN: r175206

13 years agotuple (__conv_types, [...]): Add.
Daniel Krugler [Mon, 20 Jun 2011 11:05:45 +0000 (11:05 +0000)]
tuple (__conv_types, [...]): Add.

2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Add.
(tuple): Use the latter.
(tuple<_T1>): Remove.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r175204

13 years ago* regrename.c (do_replace): Don't update notes.
Bernd Schmidt [Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)]
* regrename.c (do_replace): Don't update notes.

From-SVN: r175203

13 years agoc-pragma.h (pragma_handler_1arg, [...]): New handler.
Pierre Vittet [Mon, 20 Jun 2011 08:05:02 +0000 (08:05 +0000)]
c-pragma.h (pragma_handler_1arg, [...]): New handler.

2011-06-20  Pierre Vittet  <piervit@pvittet.com>

* c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
handler.
(gen_pragma_handler): New union.
(internal_pragma_handler): New type.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.

* c-pragma.c (registered_pragmas, c_register_pragma_1)
(c_register_pragma, c_register_pragma_with_expansion)
(c_invoke_pragma_handler): Changed to work with
internal_pragma_handler.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.

From-SVN: r175202

13 years agors6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.
Alan Modra [Mon, 20 Jun 2011 05:12:10 +0000 (14:42 +0930)]
rs6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.

* config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
of toc-relative address in CONST.
(rs6000_delegitimize_address): Recognize changed address.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Don't force these constants to memory.
* config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
toc-relative address in CONST.
(tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
(tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.

From-SVN: r175200

13 years agoDaily bump.
GCC Administrator [Mon, 20 Jun 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175199

13 years agore PR target/49461 (boehm-gc and gcj incompatible with pie)
Mike Stump [Sun, 19 Jun 2011 17:54:24 +0000 (17:54 +0000)]
re PR target/49461 (boehm-gc and gcj incompatible with pie)

PR target/49461
  * mh-darwin: Turn off -pie on darwin11 and later.

From-SVN: r175192

13 years agoDaily bump.
GCC Administrator [Sun, 19 Jun 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175188

13 years agoUse long long builtins of zero counting for x86-64.
H.J. Lu [Sat, 18 Jun 2011 15:35:10 +0000 (15:35 +0000)]
Use long long builtins of zero counting for x86-64.

2011-06-18  H.J. Lu  <hongjiu.lu@intel.com>

* longlong.h (count_leading_zeros): Use long long builtin for
x86-64.
(count_trailing_zeros): Likewise.

From-SVN: r175183

13 years agore PR target/49461 (boehm-gc and gcj incompatible with pie)
Jack Howarth [Sat, 18 Jun 2011 15:06:26 +0000 (15:06 +0000)]
re PR target/49461 (boehm-gc and gcj incompatible with pie)

PR target/49461
* libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
* libjava/configure: Regenerate.

From-SVN: r175182

13 years agoProperly check if .init_array can be used with .ctors on targets.
H.J. Lu [Sat, 18 Jun 2011 14:48:14 +0000 (14:48 +0000)]
Properly check if .init_array can be used with .ctors on targets.

2011-06-18  H.J. Lu  <hongjiu.lu@intel.com>

PR other/49325
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
.init_array can be used with .ctors on targets.
* configure: Regenerated.

From-SVN: r175181

13 years agore PR testsuite/49432 (FAIL: obj-c++.dg/invalid-type-1.mm)
Jakub Jelinek [Sat, 18 Jun 2011 12:56:56 +0000 (14:56 +0200)]
re PR testsuite/49432 (FAIL: obj-c++.dg/invalid-type-1.mm)

PR testsuite/49432
* obj-c++.dg/invalid-type-1.mm: Adjust for new error wording.

From-SVN: r175178

13 years agore PR fortran/49400 ([F08] Proc-pointer declaration in BLOCK construct)
Janus Weil [Sat, 18 Jun 2011 12:36:45 +0000 (14:36 +0200)]
re PR fortran/49400 ([F08] Proc-pointer declaration in BLOCK construct)

2011-06-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49400
* decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
BLOCK constructs.

2011-06-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49400
* gfortran.dg/proc_ptr_31.f90: New.

From-SVN: r175177