Jason Merrill [Thu, 23 Jun 2011 16:53:03 +0000 (12:53 -0400)]
re PR c++/49507 (ICE because of defaulted template destructor)
PR c++/49507
* decl2.c (mark_used): Don't call synthesize_method for
functions defaulted outside the class.
From-SVN: r175342
Jason Merrill [Thu, 23 Jun 2011 16:52:56 +0000 (12:52 -0400)]
optimize.c (maybe_clone_body): Set linkage flags before cgraph_same_body_alias.
* optimize.c (maybe_clone_body): Set linkage flags before
cgraph_same_body_alias.
From-SVN: r175341
Jason Merrill [Thu, 23 Jun 2011 16:52:48 +0000 (12:52 -0400)]
re PR c++/49440 (Invalid dynamic_cast for unnamed namespace)
PR c++/49440
* class.c (set_linkage_according_to_type): Just check TREE_PUBLIC
on the type's name.
From-SVN: r175340
Jason Merrill [Thu, 23 Jun 2011 16:52:41 +0000 (12:52 -0400)]
re PR c++/49395 (Non-class prvalues seem to have cv-qualification with GCC)
PR c++/49395
* init.c (build_zero_init_1): Strip cv-quals from scalar types.
From-SVN: r175339
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
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
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
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
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
GCC Administrator [Thu, 23 Jun 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175327
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Michael Matz [Wed, 22 Jun 2011 13:59:03 +0000 (13:59 +0000)]
* cgraphunit.c (assemble_thunk): Use correct return type.
From-SVN: r175294
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 22 Jun 2011 00:18:06 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175283
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jakub Jelinek [Tue, 21 Jun 2011 08:15:36 +0000 (10:15 +0200)]
Remove >>>> marker.
From-SVN: r175243
Christian Bruel [Tue, 21 Jun 2011 06:48:45 +0000 (08:48 +0200)]
PR middle-end/49139 fix always_inline diagnostics
From-SVN: r175242
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
Christian Bruel [Tue, 21 Jun 2011 06:43:26 +0000 (08:43 +0200)]
PR middle-end/49139 fix always_inline diagnostics
From-SVN: r175240
Christian Bruel [Tue, 21 Jun 2011 06:42:05 +0000 (08:42 +0200)]
PR middle-end/49139 fix always_inline diagnostics
From-SVN: r175239
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
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
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
GCC Administrator [Tue, 21 Jun 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175235
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bernd Schmidt [Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)]
* regrename.c (do_replace): Don't update notes.
From-SVN: r175203
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
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
GCC Administrator [Mon, 20 Jun 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175199
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
GCC Administrator [Sun, 19 Jun 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175188
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