GCC Administrator [Mon, 16 Apr 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186478
Paolo Carlini [Sun, 15 Apr 2012 23:35:27 +0000 (23:35 +0000)]
re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing)
2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52702
* include/std/type_traits (is_trivially_destructible): Add.
(has_trivial_destructor): Remove.
* testsuite/util/testsuite_common_types.h: Adjust.
* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
* testsuite/20_util/is_trivially_destructible/value.cc: New.
* testsuite/20_util/is_trivially_destructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_destructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r186474
Jason Merrill [Sun, 15 Apr 2012 17:07:39 +0000 (13:07 -0400)]
re PR c++/52706 ([C++11] Demangling of templates with std::nullptr_t as non-type parameter)
PR c++/52706
* mangle.c (write_type): nullptr_t is a builtin type.
From-SVN: r186469
Jason Merrill [Sun, 15 Apr 2012 17:07:30 +0000 (13:07 -0400)]
re PR c++/52818 (printf format %lf is erroneously rejected by C++11)
PR c++/52818
* c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
(C_STD_NAME): Distinguish between C++98 and C++11.
From-SVN: r186468
Thomas Koenig [Sun, 15 Apr 2012 11:52:44 +0000 (11:52 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/38199
PR libfortran/50673
* intrinsics/string_intriniscs_inc.c (string_len_trim):
Remove prototypes for string_len_trim and move to...
* libgfortran.h (string_len_trim): ... here and
(string_len_trim_char4): ...here.
* io/unit.c: For non-array internal arrays where we do reading,
adjust the record length to the last non-blank character.
* io/unix.c: Fix typo.
From-SVN: r186466
Janus Weil [Sun, 15 Apr 2012 11:47:49 +0000 (13:47 +0200)]
re PR fortran/51082 ([F03] Wrong result for a pointer to a proc-pointer component)
2012-04-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/51082
* trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
simple function call (or a more involved PPC reference).
2012-04-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/51082
* gfortran.dg/proc_ptr_comp_34.f90: New test case.
From-SVN: r186465
Tobias Burnus [Sun, 15 Apr 2012 05:52:51 +0000 (07:52 +0200)]
re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
2012-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
PR fortran/40973
* gfortran.h (symbol_attribute): Add public_used.
* interface.c (check_sym_interfaces, check_uop_interfaces,
gfc_check_interfaces): Set it.
* resolve.c (resolve_typebound_procedure): Ditto.
* trans-decl.c (build_function_decl): Use it.
2012-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
PR fortran/40973
* gfortran.dg/public_private_module_3.f90: New.
* gfortran.dg/public_private_module_4.f90: New.
From-SVN: r186464
GCC Administrator [Sun, 15 Apr 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186460
Paolo Carlini [Sat, 14 Apr 2012 22:33:22 +0000 (22:33 +0000)]
re PR libstdc++/52699 (infinite loop generated with -O0)
2012-04-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52699
* include/bits/random.tcc (independent_bits_engine<>::operator()())
Avoid various overflows; use common_type on result_type and
_RandomNumberEngine::result_type; avoid floating point computations;
other smaller tweaks.
* include/bits/random.tcc (uniform_int_distribution<>::operator())
Use common_type; assume _UniformRandomNumberGenerator::result_type
unsigned; tidy.
* include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
__lg(unsigned long long)): Add.
From-SVN: r186456
Uros Bizjak [Sat, 14 Apr 2012 14:09:11 +0000 (16:09 +0200)]
* config/i386/sse.md: Fix whitespace and formatting.
From-SVN: r186455
Uros Bizjak [Sat, 14 Apr 2012 13:30:46 +0000 (15:30 +0200)]
sse.md (ssse3_plusminus): New code iterator.
2012-04-14 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (ssse3_plusminus): New code iterator.
(avx2_ph<plusminus_mnemonic>wv16hi3): Macroize insn from
avx2_ph{add,adds,sub,subs}wv16hi3 using ssse3_plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>wv8hi3): Macroize insn from
ssse3_ph{add,adds,sub,subs}wv8hi3 using ssse3_plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>wv4hi3): Macroize insn from
ssse3_ph{add,adds,sub,subs}wv4hi3 using ssse3_plusminus code iterator.
(avx2_ph<plusminus_mnemonic>dv8si3): Macroize insn from
avx2_ph{add,adds,sub,subs}dv8si3 using plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>dv4si3): Macroize insn from
ssse3_ph{add,adds,sub,subs}dv4si3 using plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>dv2si3): Macroize insn from
ssse3_ph{add,adds,sub,subs}dv2si3 using plusminus code iterator.
(xop_plus): New code iterator.
(macs): New code attribute.
(macds): Ditto.
(xop_p<macs><ssemodesuffix><ssemodesuffix>): Macroize insn from
xop_pmacs{,s}{ww,dd} using xop_plus code iterator and VI24_128 mode
iterator.
(xop_p<macs>dql): Macroize insn from xop_pmacs{,s}dql using
xop_plus code iterator.
(xop_p<macs>dqh): Macroize insn from xop_pmacs{,s}dqh using
xop_plus code iterator.
(xop_p<macs>wd): Macroize insn from xop_pmacs{,s}wd using
xop_plus code iterator.
(xop_p<madcs>wd): Macroize insn from xop_pmadcs{,s}wd using
xop_plus code iterator.
(xop_phadd<u>bw): Macroize insn from xop_phadd{,u}bw usign
any_extend code iterator.
(xop_phadd<u>bd): Macroize insn from xop_phadd{,u}bd usign
any_extend code iterator.
(xop_phadd<u>bq): Macroize insn from xop_phadd{,u}bq usign
any_extend code iterator.
(xop_phadd<u>wd): Macroize insn from xop_phadd{,u}wd usign
any_extend code iterator.
(xop_phadd<u>wq): Macroize insn from xop_phadd{,u}wq usign
any_extend code iterator.
(xop_phadd<u>dq): Macroize insn from xop_phadd{,u}dq usign
any_extend code iterator.
From-SVN: r186454
Alan Modra [Sat, 14 Apr 2012 13:24:43 +0000 (22:54 +0930)]
re PR libstdc++/52839 (double free or corruption running tr1/.../default_weaktoshared.exe)
PR libstdc++/52839
* acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
glibcxx_cv_atomic_long_long.
* configure: Regenerate.
From-SVN: r186453
Tom de Vries [Sat, 14 Apr 2012 12:17:50 +0000 (12:17 +0000)]
superblock.c: New test.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* gcc.dg/superblock.c: New test.
From-SVN: r186452
Tom de Vries [Sat, 14 Apr 2012 12:17:41 +0000 (12:17 +0000)]
cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
call to delete_insn. Remove code to reorder BASIC_BLOCK note and
DELETED_LABEL note, and move it to ...
* cfgrtl.c (delete_insn): ... here. Change return type to void.
(delete_insn_and_edges): Likewise.
(delete_insn_chain): Handle new return type of delete_insn. Delete
chain backwards rather than forwards.
* rtl.h (delete_insn, delete_insn_and_edges): Change return type to
void.
* cfglayout.c (fixup_reorder_chain): Delete unused label.
From-SVN: r186451
Jan Hubicka [Sat, 14 Apr 2012 10:24:59 +0000 (12:24 +0200)]
cgraph.h: Update copyrights;
* cgraph.h: Update copyrights;
(symtab_node): Turn to union typedef.
(symtab_node_base): New structure.
(symtab_type): Add SYMTAB_SYMBOL tag.
* cgraph.c: Update references to fields
(cgraph_hash, assembler_name_hash): Turn into symtab_node.
(cgraph_local_info): Remove lto_file_data
and externally_visible.
(cgraph_node): Remove decl; same_comdat_group list;
aux; ref_list; order; address_taken; reachable_from_other_parittion,
in_other_partition; resolution.
(varpool_node): Remove decl; same_comdat_group;
ref_list; lto_file_data; aux; order; resolution; externally_visible;
used_from_other_partition; in_other_partition.
(symtab_node_def); New union.
(cgraph, varpool): Update.
(varpool_first_static_initializer, varpool_next_static_initializer,
cgraph_only_called_directly_or_aliased_p,
varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
field references.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* lto-symtab.c: Likewise.
* c-gimplify.c: Likewise.
* value-prof.c: Likewise.
* tree.c: Likewise.
* ipa-cp.c: Likewise.
* tree-emutls.c: Likewise.
* ipa-inline-transform.c: Likwise.
* ipa-reference.c: Likewise.
* cgraphunit.c: Likewise.
* ipa-ref.c: Likewise.
* lto-cgraph.c: Likewise.
* ipa-ref-inline.h: Likewise.
* ipa-pure-const.c: Likewise.
* lto-streamer-out.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-inline.c: Likewise.
* matrix-reorg.c: Likewise.
* tree-eh.c: Likewise.
* tree-vectorizer.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* trans-mem.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* gimplify.c: Likewise.
* cfgexpand.c: Likewise.
* tree-sra.c: Likewise.
* ipa-prop.c: Likewise.
* varasm.c: Likewise.
* tree-nested.c: Likewise.
* tree-inline.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* passes.c: Likewise.
* varpool.c: Likewise.
* tree.c: Update field referenced for new cgraph/varpool layout.
* decl2.c: Likewise.
* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
cgraph/varpool layout.
* lto.c: Update field referenced for new cgraph/varpool layout.
* lto-partition.c: Likewise.
From-SVN: r186450
Tom de Vries [Sat, 14 Apr 2012 05:49:24 +0000 (05:49 +0000)]
pr51879-12.c: New test.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr51879-12.c: New test.
From-SVN: r186448
Tom de Vries [Sat, 14 Apr 2012 05:49:15 +0000 (05:49 +0000)]
tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of same_succ_hash, with local_def inlined.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
same_succ_hash, with local_def inlined. Use SINGLE_SSA_DEF_OPERAND.
Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. Remove use
of find_edge.
(gsi_advance_fw_nondebug_nonlocal): New function.
(local_def): Removed function.
(same_succ_hash): Use stmt_local_def.
(same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
(gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.
From-SVN: r186447
Paolo Carlini [Sat, 14 Apr 2012 01:34:00 +0000 (01:34 +0000)]
51083.cc: Move...
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/26_numerics/cmath/51083.cc: Move...
* testsuite/26_numerics/headers/cmath/51083.cc: ... here.
From-SVN: r186445
GCC Administrator [Sat, 14 Apr 2012 00:20:40 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r186444
Jason Merrill [Fri, 13 Apr 2012 19:43:57 +0000 (15:43 -0400)]
re PR c++/52824 ([C++11] expanding variadic template arguments into non-variadic template)
PR c++/52824
* pt.c (any_pack_expanson_args_p): New.
(coerce_template_parms): Use it.
From-SVN: r186434
Jason Merrill [Fri, 13 Apr 2012 19:43:47 +0000 (15:43 -0400)]
re PR c++/52905 ([C++0x] ice on invalid brace-enclosed initializer of vector of enums)
PR c++/52905
* call.c (joust): Handle comparing list and non-list ctors.
From-SVN: r186433
Jason Merrill [Fri, 13 Apr 2012 19:43:37 +0000 (15:43 -0400)]
re PR c++/52915 ([C++11] Deleted default-constructor of anonymous unions not honored)
PR c++/52915
* decl2.c (finish_anon_union): Use cp_finish_decl.
* error.c (dump_function_name): Avoid showing anonymous "name".
From-SVN: r186432
H.J. Lu [Fri, 13 Apr 2012 18:20:10 +0000 (18:20 +0000)]
Define _ILP32 and __ILP32__ for x32
* config/i386/i386-c.c (ix86_target_macros): Define _ILP32
and __ILP32__ for x32.
From-SVN: r186429
Martin Jambor [Fri, 13 Apr 2012 17:57:21 +0000 (19:57 +0200)]
re PR middle-end/52939 (ice in gimple_get_virt_method_for_binfo with -O3)
2012-04-13 Martin Jambor <mjambor@suse.cz>
PR middle-end/52939
* gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
fold_ctor_reference returns a zero constant.
* testsuite/g++.dg/ipa/pr52939.C: New test.
From-SVN: r186428
Enkovich Ilya [Fri, 13 Apr 2012 17:21:06 +0000 (17:21 +0000)]
Add and use config/i386/gnu-user-common.h
* config.gcc: Add i386/gnu-user-common.h before all
i386/gnu-user.h and i386/gnu-user64.h usages.
* config/i386/gnu-user-common.h: New.
* config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
(CC1_SPEC): Likewise.
(ENDFILE_SPEC): Likewise.
(DEFAULT_PCC_STRUCT_RETURN): Likewise.
(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
(TARGET_OS_CPP_BUILTINS): Likewise.
(LIBGCC2_HAS_TF_MODE): Likewise.
(LIBGCC2_TF_CEXT): Likewise.
(TF_SIZE): Likewise.
(TARGET_ASM_FILE_END): Likewise.
(STACK_CHECK_MOVING_SP): Likewise.
(STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/gnu-user64.h: Likewise.
From-SVN: r186427
Martin Jambor [Fri, 13 Apr 2012 17:12:33 +0000 (19:12 +0200)]
expr.c (expand_expr_real_1): Pass type, not the expression, to set_mem_attributes for a memory temporary.
2012-04-13 Martin Jambor <mjambor@suse.cz>
* expr.c (expand_expr_real_1): Pass type, not the expression, to
set_mem_attributes for a memory temporary. Do not call the function
for the memory temporary created for a bitfield.
From-SVN: r186426
Alexandre Oliva [Fri, 13 Apr 2012 15:56:21 +0000 (15:56 +0000)]
re PR debug/48866 (gcc hangs when -g is set)
PR debug/48866
* df.h (enum debug_temp_where): New.
(dead_debug_init, dead_debug_finish) Declare.
(dead_debug_add, dead_debug_insert_temp): Declare.
(struct dead_debug_use, struct dead_debug): Moved from...
* df-problems.c: ... here.
(df_set_unused_notes_for_mw): Bind debug uses of unused regno
to a debug temp.
(df_create_unused_note): Likewise.
(df_set_dead_notes_for_mw): Move comment where it belongs.
(dead_debug_init): Export.
(dead_debug_reset_uses): New, factored out of...
(dead_debug_finish): ...this. Export.
(dead_debug_reset): Remove.
(dead_debug_add): Export.
(dead_debug_insert_before): Rename to...
(dead_debug_insert_temp): ... this. Add where argument. Export.
Locate stored value for BEFORE_WITH_VALUE. Avoid repeat inserts.
Return insertion count.
(df_note_bb_compute): Adjust.
* dce.c (word_dce_process_block): Adjust dead debug uses.
(dce_process_block): Likewise.
From-SVN: r186422
Alexandre Oliva [Fri, 13 Apr 2012 15:56:07 +0000 (15:56 +0000)]
df-problems.c (df_note_bb_compute): Do not take note of debug uses for whose REGs we won't emit DEAD or UNUSED notes.
* df-problems.c (df_note_bb_compute): Do not take note of
debug uses for whose REGs we won't emit DEAD or UNUSED notes.
From-SVN: r186421
Alexandre Oliva [Fri, 13 Apr 2012 15:55:52 +0000 (15:55 +0000)]
re PR debug/51570 (FAIL: gcc.dg/guality/pr45003-[23].c)
PR debug/51570
* var-tracking.c (expand_depth): New type.
(onepart_aux, expand_loc_callback_data): Change depth type to it.
(loc_exp_dep_alloc): Adjust initializer.
(update_depth): Use new type. Add entryvals.
(vt_expand_var_loc_chain): Take note of expansions with
ENTRY_VALUEs, but don't accept them right away. Run an optional
second pass accepting the minimum ENTRY_VALUE count found in the
first pass.
(vt_expand_loc_callback, INIT_ELCD): Adjust.
From-SVN: r186420
Tom de Vries [Fri, 13 Apr 2012 14:53:16 +0000 (14:53 +0000)]
pr52734.c: New test.
2012-04-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr52734.c: New test.
From-SVN: r186419
Tom de Vries [Fri, 13 Apr 2012 14:53:07 +0000 (14:53 +0000)]
tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add parameters vuse and vuse_escaped.
2012-04-13 Tom de Vries <tom@codesourcery.com>
* tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
parameters vuse and vuse_escaped.
(find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to
gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and
vuse1 != vuse2.
From-SVN: r186418
Richard Guenther [Fri, 13 Apr 2012 12:22:16 +0000 (12:22 +0000)]
re PR tree-optimization/52969 (ICE in in get_expr_operands, at tree-ssa-operands.c:1035 with -ftree-loop-if-convert-stores)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52969
* tree-if-conv.c (predicate_mem_writes): Properly gimplify
the condition for the COND_EXPR and handle predicate negation
by swapping the COND_EXPR arms.
* gcc.dg/torture/pr52969.c: New testcase.
From-SVN: r186416
Christian Bruel [Fri, 13 Apr 2012 11:58:15 +0000 (13:58 +0200)]
fix last entry
From-SVN: r186415
Laurent Alfonsi [Fri, 13 Apr 2012 11:44:13 +0000 (11:44 +0000)]
PR:52604: (~__freelist): Reset pointer
From-SVN: r186414
Nick Clifton [Fri, 13 Apr 2012 10:59:02 +0000 (10:59 +0000)]
rl78.c (rl78_devirt_pass): Remove use of TODO_dump_func flag.
* config/rl78/rl78.c (rl78_devirt_pass): Remove use of
TODO_dump_func flag.
From-SVN: r186413
Paolo Carlini [Fri, 13 Apr 2012 10:43:28 +0000 (10:43 +0000)]
safe_iterator.h (_BeforeBeginHelper<>:: _S_Is_Beginnest): Add.
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/safe_iterator.h (_BeforeBeginHelper<>::
_S_Is_Beginnest): Add.
* include/debug/forward_list (_BeforeBeginHelper<>::
_S_Is_Beginnest): Likewise.
(_Safe_iterator<>::_M_is_beginnest): Add.
* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
Use the latter.
* testsuite/23_containers/forward_list/debug/splice_after.cc:
Add test.
From-SVN: r186411
Andrey Belevantsev [Fri, 13 Apr 2012 09:36:42 +0000 (13:36 +0400)]
re PR rtl-optimization/52203 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7136 with -fsel-sched-pipelining -fselective-scheduling2 and other custom flags)
PR rtl-optimization/52203
PR rtl-optimization/52715
Revert the 2012-03-07 fix for PR 52203.
* sel-sched.c (reset_sched_cycles_in_current_ebb): Check that
the insn does not modify DFA right before issuing, adjust
issue_rate accordingly.
From-SVN: r186410
Richard Guenther [Fri, 13 Apr 2012 09:24:28 +0000 (09:24 +0000)]
re PR c/52549 (ice in pointer_diff)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR c/52549
* c-typeck.c (pointer_diff): Remove bogus assert.
* gcc.dg/pr52549.c: New testcase.
From-SVN: r186408
Richard Guenther [Fri, 13 Apr 2012 09:22:33 +0000 (09:22 +0000)]
re PR c/52862 (ICE convert_to_pointer, at convert.c:50)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR c/52862
* convert.c (convert_to_pointer): Remove special-casing of
zero.
* gcc.dg/pr52862.c: New testcase.
From-SVN: r186407
Joey Ye [Fri, 13 Apr 2012 08:05:39 +0000 (08:05 +0000)]
constraints.md (Pe): New constraint.
2012-04-13 Joey Ye <joey.ye@arm.com>
* config/arm/constraints.md (Pe): New constraint.
* config/arm/arm.md: New split for imm 256-510.
testsuite:
* gcc.target/arm/thumb1-imm.c: New testcase.
From-SVN: r186406
Terry Guo [Fri, 13 Apr 2012 07:08:51 +0000 (07:08 +0000)]
arm-cores.def: Added core cortex-m0plus.
* config/arm/arm-cores.def: Added core cortex-m0plus.
* config/arm/arm-tune.md: Regenerated.
* config/arm/arm-tables.opt: Regenerated.
* doc/invoke.texi: Added entry for cpu ARM cortex-m0plus.
From-SVN: r186405
Benjamin Kosnik [Fri, 13 Apr 2012 00:33:10 +0000 (00:33 +0000)]
unordered_map.h (__unordered_map): Remove.
2012-04-12 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/unordered_map.h (__unordered_map): Remove.
(__unordered_multimap): Remove.
Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
__ummap_hashtable.
(unordered_map): Derive from __umap_hashtable.
(unordered_multimap): Derive from __ummap_hashtable.
* include/bits/unordered_set.h (__unordered_set): Remove.
(__unordered_multiset): Remove.
Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
__umset_hashtable.
(unordered_set): Derive from __uset_hashtable.
(unordered_multiset): Derive from __umset_hashtable.
* include/bits/hashtable.h (__cache_default): New, consolidated
cache defaults for _Hashtable. Adjust comments for doxygen.
(_Hashtable): Consolidate bool template parameters into new,
_Traits class. Inherited base classes synthesize _Hashtable in
CRTP via original 10 parameters. Prefer using declarations to
typedefs, add __node_type, __bucket_type, etc. Push many nested
types down hierarchy to _Hashtable_base. Add constructors
necessary for top-level unordered_containers. Consolidate insert
member functions and logic in new base class, __detail::_Insert
and __detail::_Insert_base.
(_Hashtable::operator=(initializer_list)): Add.
* include/bits/hashtable_policy.h: Convert to doxygen markup.
(_Hashtable_traits) New. Consolidate bool template parameters here.
(_Insert, _Insert_base): New, consolidated insert member functions.
(_Map_base, _Equality, _Rehash_base): Adjust template parameters,
use base types.
(_Hashtable_base): Move type declarations useful to other base
classes into this class.
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust traits, line numbers.
From-SVN: r186403
GCC Administrator [Fri, 13 Apr 2012 00:18:02 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186402
Alan Modra [Thu, 12 Apr 2012 22:26:24 +0000 (07:56 +0930)]
re PR target/52828 (powerpc -m32 -Os writes register saves below stack)
PR target/52828
* config/rs6000/rs6000.c (rs6000_emit_stack_tie): Rewrite with
tie regs on destination of sets. Delete forward declaration.
(rs6000_emit_stack_reset): Update rs6000_emit_stack_tie calls.
(rs6000_emit_prologue): Likewise.
(rs6000_emit_epilogue): Likewise. Use in place of gen_frame_tie
and gen_stack_tie.
(is_mem_ref): Use tie_operand to recognise stack ties.
* config/rs6000/predicates.md (tie_operand): New.
* config/rs6000/rs6000.md (restore_stack_block): Generate new
stack tie rtl.
(restore_stack_nonlocal): Likewise.
(stack_tie): Update.
(frame_tie): Delete.
From-SVN: r186397
Bill Schmidt [Thu, 12 Apr 2012 21:22:53 +0000 (21:22 +0000)]
tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to HOST_WIDE_INT_PRINT_DEC in format strings.
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to
HOST_WIDE_INT_PRINT_DEC in format strings.
From-SVN: r186393
Jeffrey Yasskin [Thu, 12 Apr 2012 20:59:09 +0000 (20:59 +0000)]
Fix PR52822 (stable_partition move-assigns object to itself) by scanning for...
Fix PR52822 (stable_partition move-assigns object to itself) by
scanning for the first value that doesn't match the predicate before
starting to rearrange values.
2012-04-03 Jeffrey Yasskin <jyasskin@google.com>
PR libstdc++/52822
* include/bits/stl_algo.h (__find_if_not): Expose in
C++98 mode.
(__find_if_not_n): Like __find_if_not, but works on and updates a
counted range instead of a bounded range.
(stable_partition): Guarantee !__pred(*__first) in call to
__stable_partition_adaptive() or __inplace_stable_partition().
(__stable_partition_adaptive): Use new precondition to avoid
moving/copying objects onto themselves. Guarantee new
precondition to recursive calls.
(__inplace_stable_partition): Use new precondition to simplify
base case, remove __last parameter. Guarantee new precondition to
recursive calls.
* testsuite/25_algorithms/stable_partition/moveable.cc (test02):
Test a sequence that starts with a value matching the predicate.
* testsuite/25_algorithms/stable_partition/pr52822.cc:
Test vectors, which have a destructive self-move-assignment.
From-SVN: r186391
Andreas Schwab [Thu, 12 Apr 2012 20:20:01 +0000 (20:20 +0000)]
Makefile.am (check_DEJAGNUnormal0): Run prettyprinters.exp.
* testsuite/Makefile.am (check_DEJAGNUnormal0): Run
prettyprinters.exp.
* testsuite/Makefile.in: Regenerated.
From-SVN: r186389
Uros Bizjak [Thu, 12 Apr 2012 18:37:42 +0000 (20:37 +0200)]
re PR target/52932 (AVX2 intrinsic _mm256_permutevar8x32_ps has wrong parameter type)
PR target/52932
* config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
* config/i386/sse.md (UNSPEC_VPERMVAR): New.
(UNSPEC_VPERMSI, UNSPEC_VPERMSF): Remove.
(avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
(avx2_permvar<mode>): Macroize insn from avx2_permvarv8sf and
avx2_permvarv8si using VI4F_256 mode iterator.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
Update builtin type to V8SF_FTYPE_V8SF_V8SI.
(ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
gen_avx2_permvarv8sf.
(expand_vec_perm_pshufb): Ditto.
testsuite/ChangeLog:
PR target/52932
* gcc.target/i386/avx2-vpermps-1.c (avx2_test): Use __m256i type for
second function argument.
* gcc.target/i386/avx2-vpermps-2.c (init_permps): Update declaration.
(calc_permps): Update declaration. Calculate result correctly.
(avx2_test): Change src2 type to union256i_d.
* gcc.target/i386/avx2-vpermd-2.c (calc_permd): Calculate result
correctly.
From-SVN: r186388
Michael Meissner [Thu, 12 Apr 2012 17:10:27 +0000 (17:10 +0000)]
re PR target/52775 (Change default for using FCFID instruction)
[gcc]
2012-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/52775
* config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
the list of options to enable the FCFID instruction.
(TARGET_EXTRA_BUILTINS): Adjust comment.
[gcc/testsuite]
2012-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/52775
* gcc.target/powerpc/pr52775.c: New file.
From-SVN: r186387
Bill Schmidt [Thu, 12 Apr 2012 16:15:13 +0000 (16:15 +0000)]
re PR tree-optimization/18589 (could optimize FP multiplies better)
gcc:
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/18589
* tree-ssa-reassoc.c (reassociate_stats): Add two fields.
(operand_entry): Add count field.
(add_repeat_to_ops_vec): New function.
(completely_remove_stmt): Likewise.
(remove_def_if_absorbed_call): Likewise.
(remove_visited_stmt_chain): Remove feeding builtin pow/powi calls.
(acceptable_pow_call): New function.
(linearize_expr_tree): Look for builtin pow/powi calls and add operand
entries with repeat counts when found.
(repeat_factor_d): New struct and associated typedefs.
(repeat_factor_vec): New static vector variable.
(compare_repeat_factors): New function.
(get_reassoc_pow_ssa_name): Likewise.
(attempt_builtin_powi): Likewise.
(reassociate_bb): Call attempt_builtin_powi.
(fini_reassoc): Two new calls to statistics_counter_event.
gcc/testsuite:
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/18589
* gcc.dg/tree-ssa/pr18589-1.c: New test.
* gcc.dg/tree-ssa/pr18589-2.c: Likewise.
* gcc.dg/tree-ssa/pr18589-3.c: Likewise.
* gcc.dg/tree-ssa/pr18589-4.c: Likewise.
* gcc.dg/tree-ssa/pr18589-5.c: Likewise.
* gcc.dg/tree-ssa/pr18589-6.c: Likewise.
* gcc.dg/tree-ssa/pr18589-7.c: Likewise.
* gcc.dg/tree-ssa/pr18589-8.c: Likewise.
* gcc.dg/tree-ssa/pr18589-9.c: Likewise.
* gcc.dg/tree-ssa/pr18589-10.c: Likewise.
From-SVN: r186384
Richard Guenther [Thu, 12 Apr 2012 15:11:17 +0000 (15:11 +0000)]
Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
2012-04-12 Richard Guenther <rguenther@suse.de>
* Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
* cgraph.h (tree_rest_of_compilation): Remove.
* cgraph.c (cgraph_add_new_function): Move ...
* cgraphunit.c (cgraph_add_new_function): ... here.
(tree_rest_of_compilation): Make static.
(cgraph_expand_function): Do not set cgraph_function_flags_ready.
* tree-optimize.c (gate_all_optimizations, pass_all_optimizations,
gate_all_early_local_passes, execute_all_early_local_passes,
pass_early_local_passes, gate_all_early_optimizations,
pass_all_early_optimizations): Move ...
* passes.c (gate_all_optimizations, pass_all_optimizations,
gate_all_early_local_passes, execute_all_early_local_passes,
pass_early_local_passes, gate_all_early_optimizations,
pass_all_early_optimizations): ... here.
* tree-optimize.c (execute_free_datastructures): Remove.
* tree-flow.h (execute_free_datastructures): Remove.
* tree-optimize.c (execute_init_datastructures,
pass_init_datastructures): Move ...
* tree-ssa.c (execute_init_datastructures,
pass_init_datastructures): ... here.
* cfgexpand.c (gimple_expand_cfg): Inline-expand call to
execute_free_datastructures.
From-SVN: r186381
Bernd Schmidt [Thu, 12 Apr 2012 12:53:17 +0000 (12:53 +0000)]
dbgcnt.def (ira_move): New counter.
* dbgcnt.def (ira_move): New counter.
* ira-int.h (ira_create_new_reg): Declare function.
(first_moveable_pseudo, last_moveable_pseudo): Declare variables.
* ira-emit.c (ira_create_new_reg): Renamed from craete_new_reg and
no longer static. All callers changed.
* ira.c: Include "dbgcnt.h".
(rtx_moveable_p, insn_dominated_by_p, find_moveable_pseudos,
move_unallocated_pseudos): New static functions.
(first_moveable_pseudo, last_moveable_pseudo): New global variables.
(pseudo_replaced_reg, pseudo_move_insn): New static variables.
(ira): Call find_moveable_pseudos and move_unallocated_pseudos.
* ira-costs.c (find_costs_and_classes): Assign a memory cost of zero
to the pseudos generated in find_moveable_pseudos.
* Makefile.in (ira.o): Add $(DBGCNT_H).
From-SVN: r186378
Paolo Carlini [Thu, 12 Apr 2012 12:18:06 +0000 (12:18 +0000)]
re PR libstdc++/52942 (using std::ref with a std::unordered_map fails to compile)
2012-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52942
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
In C++11 mode do not derive from std::unary_function.
* include/ext/functional (identity, select1st, select2nd): Adjust.
* testsuite/23_containers/unordered_map/requirements/52942.cc: New.
* testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
From-SVN: r186375
Richard Guenther [Thu, 12 Apr 2012 11:38:47 +0000 (11:38 +0000)]
re PR tree-optimization/52943 (likely wrong code bug caused by predictive commoning)
2012-04-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52943
* tree-chrec.h (chrec_is_positive): Remove.
* tree-scalar-evolution.c (chrec_is_positive): Move ...
* tree-data-ref.c (chrec_is_positive): ... here. Make static.
Return false for a constant zero instead of negative.
(analyze_siv_subscript_cst_affine): Handle zero difference
in the initial condition explicitely.
* gcc.dg/torture/pr52943.c: New testcase.
From-SVN: r186374
Richard Guenther [Thu, 12 Apr 2012 10:13:22 +0000 (10:13 +0000)]
tree-parloops.c (parallelize_loops): Also consult the upper bound for the number of iterations.
2012-04-12 Richard Guenther <rguenther@suse.de>
* tree-parloops.c (parallelize_loops): Also consult the upper
bound for the number of iterations.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
(loop_prefetch_arrays): Likewise.
From-SVN: r186373
Richard Guenther [Thu, 12 Apr 2012 08:35:01 +0000 (08:35 +0000)]
cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter.
2012-04-12 Richard Guenther <rguenther@suse.de>
* cfgloop.h (estimated_loop_iterations_int): Ditch
'conservative' parameter.
(max_stmt_executions_int): Likewise.
(estimated_loop_iterations): Likewise.
(max_stmt_executions): Likewise.
(max_loop_iterations): Declare.
(max_loop_iterations_int): Likewise.
(estimated_stmt_executions): Likewise.
(estimated_stmt_executions_int): Likewise.
* tree-ssa-loop-niter.c (estimated_loop_iterations):
Split parts to ...
(max_loop_iterations): ... this.
(estimated_loop_iterations_int): Split parts to ...
(max_loop_iterations_int): ... this.
(max_stmt_executions_int): Split parts to ...
(estimated_stmt_executions_int): ... this.
(max_stmt_executions): Split parts to ...
(estimated_stmt_executions): ... this.
* graphite-sese-to-poly.c (build_loop_iteration_domains): Adjust.
* predict.c (predict_loops): Likewise.
* tree-data-ref.c (max_stmt_executions_tree): Likewise.
(analyze_siv_subscript_cst_affine): Likewise.
(compute_overlap_steps_for_affine_1_2): Likewise.
(analyze_subscript_affine_affine): Likewise.
(init_omega_for_ddr_1): Likewise.
* tree-parloops.c (parallelize_loops): Likewise.
* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
(may_eliminate_iv): Likewise.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
(loop_prefetch_arrays): Likewise.
* tree-vrp.c (adjust_range_with_scev): Likewise.
From-SVN: r186372
GCC Administrator [Thu, 12 Apr 2012 00:19:20 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r186371
Oleg Endo [Wed, 11 Apr 2012 23:03:20 +0000 (23:03 +0000)]
sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
* config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
* config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
Fix line width.
(dump_table): Use bool type for need_align and have_df variables.
(find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
(regs_used): Remove register modifier.
(barrier_align): Move variables slot, credit, jump_to_next
into if block above for loop. Use bool type for jump_to_next.
(sh_function_arg): Use NULL_RTX instead of 0.
From-SVN: r186366
Oleg Endo [Wed, 11 Apr 2012 23:01:12 +0000 (23:01 +0000)]
re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
* gcc/target/sh/pr50751-4.c: New.
* gcc/target/sh/pr50751-5.c: New.
* gcc/target/sh/pr50751-6.c: New.
* gcc/target/sh/pr50751-7.c: New.
From-SVN: r186365
Jonathan Wakely [Wed, 11 Apr 2012 22:59:25 +0000 (23:59 +0100)]
Fix date of previous ChangeLog entry.
From-SVN: r186364
Jonathan Wakely [Wed, 11 Apr 2012 22:54:53 +0000 (22:54 +0000)]
re PR c++/52924 (Using an std::function object as deleter of shared_ptr in C++0x mode does not compile)
PR libstdc++/52924
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
user-defined destructor.
(_Sp_counted_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/52924.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line numbers.
From-SVN: r186363
Jonathan Wakely [Wed, 11 Apr 2012 22:20:59 +0000 (22:20 +0000)]
debug.xml (Debug Versions of Library Binary Files): Re-arrange text slightly.
* doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
Re-arrange text slightly.
From-SVN: r186362
Andreas Schwab [Wed, 11 Apr 2012 22:01:42 +0000 (22:01 +0000)]
m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
* gcc/config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
(bswapsi2): New expander.
From-SVN: r186361
Steve Ellcey [Wed, 11 Apr 2012 21:02:57 +0000 (21:02 +0000)]
i2012-04-10 Steve Ellcey <sellcey@mips.com>
* MAINTAINERS: Changed email address.
From-SVN: r186358
Fabien Chêne [Wed, 11 Apr 2012 20:40:51 +0000 (22:40 +0200)]
re PR c++/52465 (g++ rejects valid code with in-class using declaration)
gcc/testsuite/ChangeLog
2012-04-09 Fabien Chêne <fabien@gcc.gnu.org>
PR c++/52465
* g++.dg/lookup/using52.C: New.
gcc/cp/ChangeLog
2012-04-09 Fabien Chêne <fabien@gcc.gnu.org>
PR c++/52465
* parser.c (cp_parser_class_name): Call strip_using_decl and
return the target decl.
* name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
to be stripped is NULL_TREE.
(qualify_lookup): Call strip_using_decl and perform some checks on
the target decl.
From-SVN: r186355
Jonathan Wakely [Wed, 11 Apr 2012 20:31:06 +0000 (21:31 +0100)]
* testsuite/performance/30_threads/future/polling.cc: Adjust.
From-SVN: r186354
Manuel López-Ibáñez [Wed, 11 Apr 2012 20:15:35 +0000 (20:15 +0000)]
prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
testsuite/
* lib/prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
libgomp/
* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
From-SVN: r186353
H.J. Lu [Wed, 11 Apr 2012 19:37:57 +0000 (19:37 +0000)]
Define TRY_EMPTY_VM_SPACE to 0x60000000 for x32
2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
0x60000000 if __x86_64 is defined and __LP64__ isn't defined.
From-SVN: r186352
H.J. Lu [Wed, 11 Apr 2012 19:31:45 +0000 (19:31 +0000)]
Check for incompatible pointer sign extension
gcc/
PR rtl-optimization/52876
* emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
Don't call mark_reg_pointer for incompatible pointer sign
extension.
* reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value
directly.
gcc/testsuite
PR rtl-optimization/52876
* gcc.target/i386/pr52876.c: New.
From-SVN: r186351
Bernd Schmidt [Wed, 11 Apr 2012 18:07:39 +0000 (18:07 +0000)]
fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for comparisons against TYPE_PRECISION.
* fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for
comparisons against TYPE_PRECISION.
* tree-ssa-forwprop.c (combine_conversions): Likewise.
From-SVN: r186350
Bernd Schmidt [Wed, 11 Apr 2012 17:58:01 +0000 (17:58 +0000)]
c99-const-expr-9.c (old_offsetof): Insert a cast to __UINTPTR_TYPE__.
* gcc.dg/c99-const-expr-9.c (old_offsetof): Insert a cast to
__UINTPTR_TYPE__.
* gcc.c-torture/execute/pr15296.c (intptr_t): Likewise, with
__INTPTR_TYPE__.
* gcc.dg/pr14092-1.c (intptr_t): Likewise.
* gcc.dg/tree-ssa/foldcast-1.c (ssize_t): Likewise.
* gcc.dg/c90-const-expr-6.c (intptr_t): New typedef to replace ...
(ptrdiff_t): ... this. All uses changed.
* gcc.dg/c99-const-expr-6.c (intptr_t, ptrdiff_t): Likewise.
* gcc.dg/torture/pta-escape-1.c (foo): Change arg type to
__INTPTR_TYPE__.
(main): Cast argument to __INTPTR_TYPE__.
* gcc.dg/
20041106-1.c (main): Cast to __UINTPTR_TYPE__ rather than
size_t.
* gcc.dg/mallign.c (main): Likewise.
* gcc.dg/pr38700.c (foo): Likewise.
* gcc.dg/long-long-cst1.c (t): Likewise.
* gcc.dg/c99-const-expr-10.c (p, q, f, h, h2): Likewise.
* gcc.dg/array-10.c (c0, c1, c2, c3, c4, c5): Likewise.
* gcc.dg/pointer-arith-10.c (foo): Likewise.
* gcc.dg/pr25682.c (d, foo): Likewise.
* gcc.dg/format/cast-1.c (f): Likewise.
* gcc.dg/c90-const-expr-10.c
* gcc.dg/pr41551.c (uintptr_t): New typedef, replacing...
(size_t): ...this. All uses changed.
* gcc.c-torture/execute/pr22098-1.c (uintptr_t): Likewise.
* gcc.c-torture/execute/pr22098-2.c (uintptr_t): Likewise.
* gcc.c-torture/execute/pr22098-3.c (uintptr_t): Likewise.
* gcc.dg/pr34856.c (uintptr_t): Likewise.
* gcc.dg/sequence-pt-1.c: Likewise.
* gcc.dg/c90-const-expr-9.c (uintptr_t): Likewise.
* gcc.dg/max-1.c (intptr_t): Likewise, replacing ssize_t.
* gcc.dg/pr39074.c (intptr_t): Define using __INTPTR_TYPE__.
* gcc.dg/pr30744-1.c (my_intptr_t): New typedef. Replace all uses
of ptrdiff_t with it.
* gcc.dg/inline-23.c (my_intptr_t): Likewise.
* gcc.dg/pr37561.c (p): Use __INTPTR_TYPE__.
* gcc.dg/vla-11.c (foo11b): Use __UINTPTR_TYPE__.
From-SVN: r186347
Jason Merrill [Wed, 11 Apr 2012 17:55:25 +0000 (13:55 -0400)]
decl.c (grokdeclarator): Strip the injected-class-name typedef if we are building a declaration or...
* decl.c (grokdeclarator): Strip the injected-class-name typedef
if we are building a declaration or compound type.
From-SVN: r186346
Jason Merrill [Wed, 11 Apr 2012 17:55:12 +0000 (13:55 -0400)]
re PR c++/52906 (ICE: SIGSEGV in check_tag_decl (decl.c:4230) with "__attribute__ ((__deprecated__));" alone)
PR c++/52906
* decl.c (check_tag_decl): Don't complain about attributes if we
don't even have a type.
From-SVN: r186345
Jason Merrill [Wed, 11 Apr 2012 17:55:00 +0000 (13:55 -0400)]
* g++.dg/eh/dtor3.C: New.
From-SVN: r186344
Jan Hubicka [Wed, 11 Apr 2012 17:47:01 +0000 (19:47 +0200)]
lto.c: Update copyright...
* lto.c: Update copyright; remove params.h, ipa-inline.h
and ipa-utils.h inlines; inline lto-partition.h
(ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
add_references_to_partition, add_cgraph_node_to_partition_1,
add_cgraph_node_to_partition, add_varpool_node_to_partition,
undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
promote_var, promote_fn, lto_promote_cross_file_statics): move to...
* lto-partition.c: ... here; new file.
* lto-partition.h: New file.
* Make-lang.in (lto.o): Update dependencies.
(lto-partition.o): New.
From-SVN: r186343
Xinliang David Li [Wed, 11 Apr 2012 17:46:52 +0000 (17:46 +0000)]
Remove TODO_dump_func completely
From-SVN: r186342
H.J. Lu [Wed, 11 Apr 2012 17:34:08 +0000 (17:34 +0000)]
Check [SUB]SUBTARGET_OVERRIDE_OPTIONS after TARGET_64BIT
* config/i386/i386.c (ix86_option_override_internal): Check
SUBTARGET_OVERRIDE_OPTIONS and SUBSUBTARGET_OVERRIDE_OPTIONS
after TARGET_64BIT is updated.
From-SVN: r186339
Paolo Carlini [Wed, 11 Apr 2012 17:31:57 +0000 (17:31 +0000)]
forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310).
2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (splice_after(const_iterator,
forward_list&), splice_after(const_iterator, forward_list&,
consst_iterator), splice_after(const_iterator, forward_list&,
const_iterator, const_iterator), merge(forward_list&),
merge(forward_list&, _Comp)): Add per C++11 as published (and
LWG 1310).
* include/debug/forward_list: Adjust.
* include/bits/forward_list.h (splice_after(const_iterator,
forward_list&&, const_iterator)): Only declare.
(_M_transfer_after): Remove.
(_M_splice_after(const_iterator, forward_list&&)): Change signature.
(splice_after(const_iterator, forward_list&&, const_iterator,
const_iterator)): Use the latter.
* include/bits/forward_list.tcc (splice_after(const_iterator,
forward_list&&, const_iterator)): Define here.
(_M_splice_after): Define, use throughout.
* include/bits/forward_list.h (insert_after(const_iterator,
std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
_InputIterator, _InputIterator).
* include/bits/forward_list.tcc: Remove definition.
* testsuite/23_containers/forward_list/modifiers/6.cc: New.
* testsuite/23_containers/forward_list/operations/1.cc: Adjust.
From-SVN: r186338
Rainer Orth [Wed, 11 Apr 2012 16:58:53 +0000 (16:58 +0000)]
Fix java bootstrap on 32-bit targets
* jcf-dump.c (print_constant): Cast JPOOL_USHORT2, JPOOL_USHORT1
results to long to match formats.
From-SVN: r186330
Oleg Endo [Wed, 11 Apr 2012 16:27:50 +0000 (16:27 +0000)]
sh.h: Remove old secondary reload code.
* config/sh/sh.h: Remove old secondary reload code.
From-SVN: r186328
Oleg Endo [Wed, 11 Apr 2012 16:26:41 +0000 (16:26 +0000)]
sh.c (SCHED_REORDER): Merge macro into ...
* config/sh/sh.c (SCHED_REORDER): Merge macro into ...
(ready_reorder): ... this function.
From-SVN: r186327
Bernd Schmidt [Wed, 11 Apr 2012 14:45:49 +0000 (14:45 +0000)]
c6x.md (load_got_gotoff): Set op_pattern attribute to unknown.
* config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
unknown.
From-SVN: r186326
Bernd Schmidt [Wed, 11 Apr 2012 14:40:48 +0000 (14:40 +0000)]
haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P insns so that no other insn is queued for a...
* haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P
insns so that no other insn is queued for a time before them.
From-SVN: r186325
Bernd Schmidt [Wed, 11 Apr 2012 14:39:21 +0000 (14:39 +0000)]
sel-sched.c (sel_global_init): Swap order of sched_rgn_init and sched_init calls.
* sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
sched_init calls.
From-SVN: r186324
Richard Guenther [Wed, 11 Apr 2012 14:04:00 +0000 (14:04 +0000)]
re PR middle-end/52621 (ICE with -O3 -march=opteron in initialize_matrix_A, at tree-data-ref.c:1964)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR middle-end/52621
* tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
consider loop nesting.
(evolution_function_is_univariate_p): Properly check the remainder
for chrecs.
* gfortran.dg/pr52621.f90: New testcase.
From-SVN: r186321
Richard Guenther [Wed, 11 Apr 2012 14:02:26 +0000 (14:02 +0000)]
re PR target/52918 (ICE: Invalid bb->loop_father (NULL) in add_bb_to_loop)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR middle-end/52918
* except.c (sjlj_emit_dispatch_table): Properly update loop
structure.
* g++.dg/torture/pr52918-1.C: New testcase.
* g++.dg/torture/pr52918-2.C: Likewise.
From-SVN: r186320
Andrew Haley [Wed, 11 Apr 2012 13:21:18 +0000 (13:21 +0000)]
jcf-reader.c (jcf_parse_bootstrap_methods): Add ATTRIBUTE_UNUSED.
2012-04-11 Andrew Haley <aph@redhat.com>
* jcf-reader.c (jcf_parse_bootstrap_methods): Add
ATTRIBUTE_UNUSED.
From-SVN: r186319
Tobias Burnus [Wed, 11 Apr 2012 13:08:32 +0000 (15:08 +0200)]
re PR fortran/52729 (Symbol has no implicit type in SELECT TYPE block)
2012-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/52729
* resolve.c (resolve_symbol): Fix searching for parent NS decl.
2012-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/52729
* gfortran.dg/block_11.f90: New.
From-SVN: r186318
Nick Clifton [Wed, 11 Apr 2012 12:49:22 +0000 (12:49 +0000)]
rx.c (rx_expand_prologue): Set stack use information, if requested.
* config/rx/rx.c (rx_expand_prologue): Set stack use
information, if requested.
From-SVN: r186314
Nick Clifton [Wed, 11 Apr 2012 12:48:01 +0000 (12:48 +0000)]
stack-usage-1.c (SIZE): Define for the RL78.
* gcc.dg/stack-usage-1.c (SIZE): Define for the RL78.
* config/rl78/rl78.c (rl78_expand_prologue): Set stack use
information, if requested.
From-SVN: r186313
Peter Bergner [Wed, 11 Apr 2012 11:51:50 +0000 (06:51 -0500)]
re PR target/16458 (PowerPC - redundant compare)
gcc/
PR target/16458
* rtlanal.c (unsigned_reg_p): New function.
Update copyright notice dates.
* rtl.h (unsigned_reg_p): Prototype it.
Update copyright notice dates.
* config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
Update comment.
* expr.c (expand_expr_real_1): Set register attributes.
* stmt.c (expand_case): Likewise.
gcc/testsuite/
PR target/16458
* gcc.target/powerpc/pr16458-1.c: New test.
* gcc.target/powerpc/pr16458-2.c: Likewise.
* gcc.target/powerpc/pr16458-3.c: Likewise.
* gcc.target/powerpc/pr16458-4.c: Likewise.
Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r186312
Oleg Endo [Wed, 11 Apr 2012 11:35:32 +0000 (11:35 +0000)]
re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
* config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
consider_sh2a and allow_zero.
* config/sh/sh.c (sh_legitimate_index_p): Likewise.
(disp_addr_displacement): New function.
(sh_address_cost): Use disp_addr_displacement function instead
of DISP_ADDR_OFFSET.
(sh_legitimate_address_p): Adapt to changed
sh_legitimate_index_p declaration.
(sh_find_mov_disp_adjust): Remove HImode check.
(sh_secondary_reload): Add HImode case. Use satisfies_constraint_Sdd,
disp_addr_displacement and max_mov_insn_displacement.
(max_mov_insn_displacement): Remove HImode check.
* config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12,
DISP_ADDR_P, DISP_ADDR_OFFSET): Remove.
* config/sh/constraints.md (K05, K13): New constraints.
(K12): Correct comment.
(Sdd): Do not use DISP_ADDR_P macro.
(Snd, Sbw): Use satisfies_constraint_Sdd.
* config/sh/sh.md (extendhisi2): Remove constraints from expander.
(*extendhisi2_compact, movhi_i): Remove.
(*extendhisi2_compact_reg, *extendhisi2_compact_mem_disp,
*extendhisi2_compact_mem_disp, *extendhisi2_compact_snd,
*movhi_reg_reg, *movhi_store_mem_disp05, *movhi_store_mem_disp13,
*movhi_load_mem_disp, *movhi_load_mem_disp, *movhi): New insns.
(*extendqisi2_compact_mem_disp, *extendqisi2_compact_mem_disp,
*movqi_store_mem_disp04, *movqi_store_mem_disp12, *movqi_load_mem_disp,
*movqi_load_mem_disp): Use sh_legitimate_index_p instead of
CONST_OK_FOR_Kxx.
Add new peepholes for HImode displacement addressing.
From-SVN: r186311
Paolo Carlini [Wed, 11 Apr 2012 11:27:50 +0000 (11:27 +0000)]
re PR libstdc++/52931 (std::hash shouldn't be defined for unknown types)
2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52931
* include/bits/functional_hash.h (struct hash): Remove definition.
* testsuite/20_util/hash/52931.cc: New.
From-SVN: r186310
Oleg Endo [Wed, 11 Apr 2012 11:24:40 +0000 (11:24 +0000)]
sh.h (SIDI_OFF): Remove.
* config/sh/sh.h (SIDI_OFF): Remove.
* config/sh/sh.md: Use gen_highpart and gen_lowpart to access
DImode subregs instead of gen_rtx_REG or simplifly_gen_subreg
or operand_subword.
From-SVN: r186309
Eric Botcazou [Wed, 11 Apr 2012 11:13:39 +0000 (11:13 +0000)]
re PR target/52624 (missing __builtin_bswap16)
PR target/52624
* doc/extend.texi (Other Builtins): Document __builtin_bswap16.
(PowerPC AltiVec/VSX Built-in Functions): Remove it.
* doc/md.texi (Standard Names): Add bswap.
* builtin-types.def (BT_UINT16): New primitive type.
(BT_FN_UINT16_UINT16): New function type.
* builtins.def (BUILT_IN_BSWAP16): New.
* builtins.c (expand_builtin_bswap): Add TARGET_MODE argument.
(expand_builtin) <BUILT_IN_BSWAP16>: New case. Pass TARGET_MODE to
expand_builtin_bswap.
(fold_builtin_bswap): Add BUILT_IN_BSWAP16 case.
(fold_builtin_1): Likewise.
(is_inexpensive_builtin): Likewise.
* optabs.c (expand_unop): Deal with bswap in HImode specially. Add
missing bits for bswap to libcall code.
* tree.c (build_common_tree_nodes): Build uint16_type_node.
* tree.h (enum tree_index): Add TI_UINT16_TYPE.
(uint16_type_node): New define.
* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
* config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
above builtin.
(rs6000_init_builtins): Likewise.
* config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
c-family/
* c-common.h (uint16_type_node): Rename into...
(c_uint16_type_node): ...this.
* c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
* c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
From-SVN: r186308
Andrew Haley [Wed, 11 Apr 2012 10:47:43 +0000 (10:47 +0000)]
jcf.h (bootstrap_method): New.
2012-04-11 Andrew Haley <aph@redhat.com>
* jcf.h (bootstrap_method): New.
(BootstrapMethods): New.
(JCF): Add BootstrapMethods.
(enum cpool_tag): Add MethodHandle, MethodType, and InvokeDynamic.
* jcf-reader.c (jcf_parse_bootstrap_methods): New.
(jcf_parse_constant_pool): Handlers for MethodHandle, MethodType,
and InvokeDynamic.
(jcf_parse_bootstrap_methods): New.
* javaop.def (invokedynamic): New opcode.
* jcf-parse.c (get_constant): An unknown constant type should not
be an internal error, but a fatal one. Make it so.
* jcf-dump.c (HANDLE_BOOTSTRAP_METHODS_ATTRIBUTE): New.
(HANDLE_END_BOOTSTRAP_METHODS): New.
(print_constant): Handlers for MethodHandle, MethodType, and
InvokeDynamic.
From-SVN: r186307
Tristan Gingold [Wed, 11 Apr 2012 10:32:48 +0000 (10:32 +0000)]
extend.texi (Type Attributes): Move paragraph.
2012-04-11 Tristan Gingold <gingold@adacore.com>
* doc/extend.texi (Type Attributes): Move paragraph.
From-SVN: r186306
Manuel López-Ibáñez [Wed, 11 Apr 2012 09:26:48 +0000 (09:26 +0000)]
re PR c++/24985 (caret diagnostics)
2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 24985
gcc/
* diagnostic.h (show_caret): Declare.
(caret_max_width): Declare.
(diagnostic_show_locus): Declare.
* diagnostic.c (diagnostic_initialize): Initialize to false.
(diagnostic_show_locus): New.
(diagnostic_report_diagnostic): Call it.
(getenv_columns): New.
(adjust_line): New.
(diagnostic_set_caret_max_width): New.
* input.c (read_line): New.
(location_get_source_line): New.
* input.h (location_get_source_line): Declare.
* toplev.c (general_init): Initialize show_caret from options.
* dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
* opts.c (common_handle_option): Likewise.
* pretty-print.h (pp_get_prefix): New.
(pp_base_get_prefix): New.
* common.opt (fdiagnostics-show-caret): New option.
* doc/invoke.texi (fdiagnostics-show-caret): Document it.
testsuite/
* lib/prune.exp: Add -fno-diagnostics-show-caret.
libstdc++-v3/
* testsuite/lib/prune.exp: Handle caret.
libmudflap/
* testsuite/lib/libmudflap.exp: Handle caret.
From-SVN: r186305
Richard Guenther [Wed, 11 Apr 2012 08:13:37 +0000 (08:13 +0000)]
re PR middle-end/52881 (ICE due to null pointer deref in cfgloop.c)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/52881
* ifcvt.c (find_if_case_2): Avoid speculating loop latches.
* gcc.dg/torture/pr52881.c: New testcase.
* gcc.dg/torture/pr52913.c: Likewise.
From-SVN: r186304
Richard Guenther [Wed, 11 Apr 2012 08:12:33 +0000 (08:12 +0000)]
re PR tree-optimization/52912 (ICE: verify_ssa failed)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52912
* tree-ssa-threadupdate.c (thread_block): Tell the cfg
manipulation code we are threading through a loop header
to an exit destination.
* gcc.dg/torture/pr52912.c: New testcase.
From-SVN: r186303