platform/upstream/gcc.git
11 years agoRestore bootstrap on non-cc0 targets
Rainer Orth [Thu, 16 May 2013 12:52:18 +0000 (12:52 +0000)]
Restore bootstrap on non-cc0 targets

* reorg.c (link_cc0_insns): Wrap in #ifdef HAVE_cc0.

From-SVN: r198971

11 years agoInternal memcpy using LDRD/STRD
Greta Yorsh [Thu, 16 May 2013 12:02:06 +0000 (13:02 +0100)]
Internal memcpy using LDRD/STRD

2013-05-16  Greta Yorsh  <Greta.Yorsh@arm.com>

gcc/

* config/arm/arm-protos.h (gen_movmem_ldrd_strd): New declaration.
* config/arm/arm.c (next_consecutive_mem): New function.
(gen_movmem_ldrd_strd): Likewise.
* config/arm/arm.md (movmemqi): Update condition and code.
(unaligned_loaddi, unaligned_storedi): New patterns.

gcc/testsuite

* gcc.target/arm/unaligned-memcpy-2.c: Adjust expected output.
* gcc.target/arm/unaligned-memcpy-3.c: Likewise.
* gcc.target/arm/unaligned-memcpy-4.c: Likewise.

From-SVN: r198970

11 years agoObsolete Solaris 9 support
Rainer Orth [Thu, 16 May 2013 11:36:39 +0000 (11:36 +0000)]
Obsolete Solaris 9 support

gcc:
* config.gcc: Obsolete *-*-solaris2.9*.
* doc/install.texi (Specific, *-*-solaris2*): Document it.

contrib:
* config-list.mk (LIST): Add -enable-obsolete for
sparc-sun-solaris2.9, i686-solaris2.9.

From-SVN: r198969

11 years agopasses.c (init_optimization_passes): Move pass_parallelize_loops earlier...
Richard Biener [Thu, 16 May 2013 11:19:40 +0000 (11:19 +0000)]
passes.c (init_optimization_passes): Move pass_parallelize_loops earlier...

2013-05-16  Richard Biener  <rguenther@suse.de>

* passes.c (init_optimization_passes): Move pass_parallelize_loops
earlier, after GRAPHITE transforms and IV canonicalization.

From-SVN: r198968

11 years agoomp-low.c (extract_omp_for_data): For collapsed loops...
Jakub Jelinek [Thu, 16 May 2013 10:43:33 +0000 (12:43 +0200)]
omp-low.c (extract_omp_for_data): For collapsed loops...

* omp-low.c (extract_omp_for_data): For collapsed loops,
if at least one of the loops is known at compile time to
iterate zero times, set count to 0.
(expand_omp_regimplify_p): New function.
(expand_omp_for_generic): For collapsed loops, if at least
one of the loops isn't known to iterate at least once,
add runtime check with setting count to 0.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
For unsigned types if it isn't known at compile time that
the loop will iterate at least once, add runtime check to bypass
the whole loop if initial condition isn't true.

* testsuite/libgomp.c/loop-13.c: New test.
* testsuite/libgomp.c/loop-14.c: New test.
* testsuite/libgomp.c/loop-15.c: New test.
* testsuite/libgomp.c++/loop-13.C: New test.
* testsuite/libgomp.c++/loop-14.C: New test.
* testsuite/libgomp.c++/loop-15.C: New test.

From-SVN: r198966

11 years agovarasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.
Nathan Sidwell [Thu, 16 May 2013 10:29:42 +0000 (10:29 +0000)]
varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.

gcc/
* varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.

gcc/testsuite/
* gcc.dg/visibility-21.c: New.

From-SVN: r198965

11 years agore PR middle-end/57286 (infinite recursion in fold-const.c:10037)
Marc Glisse [Thu, 16 May 2013 10:26:51 +0000 (12:26 +0200)]
re PR middle-end/57286 (infinite recursion in fold-const.c:10037)

2013-05-16  Marc Glisse  <marc.glisse@inria.fr>

PR middle-end/57286
gcc/
* fold-const.c (fold_ternary_loc) <VEC_COND_EXPR>: Disable some
transformations to avoid an infinite loop.

gcc/testsuite/
* gcc.dg/pr57286.c: New testcase.
* gcc.dg/vector-shift-2.c: Don't assume int has size 4.
* g++.dg/ext/vector22.C: Comment out transformations not
performed anymore.

From-SVN: r198964

11 years agoAdd SCEV cprop dumping.
Marek Polacek [Thu, 16 May 2013 09:23:47 +0000 (09:23 +0000)]
Add SCEV cprop dumping.

From-SVN: r198963

11 years agoPR c++/56782 - Regression with empty pack expansions
Dodji Seketeli [Thu, 16 May 2013 06:14:49 +0000 (06:14 +0000)]
PR c++/56782 - Regression with empty pack expansions

In the example of the patch below, during the instantiation of
is_convertible at #1, we see at some point Tuple<>.  (Let's note '{}'
an empty argument pack.)  In that context, during the partial
specialization the member template

template<class... U>
Tuple<>::Tuple<U,
       typename enable_if<and_<is_convertible<U, {}>...
                                      >::value,
                                  int
         >::type
              >

Let's look at what happens to the expansion "is_convertible<U, {}>...."

To express the result of that expansion tsubst_pack_expansion receives
the expansion is_convertible<U, T>, with the argument list [{}].  This
function should detect that we have an empty argument pack for the
parameter pack T and no argument pack for the parameter pack U.  It
should thus return a pack expansion "is_convertible<U,T>..." that has this
information: "I have gotten an argument list, that is not complete
because U doesn't have any argument pack; the argument pack for T is
'{}', so I'll wait for the next time I am passed to
tsubst_pack_expansion with enough additional argument packs, to really
perform the substitution".  That information is conveyed by attaching
the the '{}' to the PACK_EXPANSION_EXTRA property of the pack expansion
returned by tsubst_pack_expansion.

The problem in this report is that we are not setting
PACK_EXPANSION_EXTRA when the non-complete argument pack list is made
of an empty argument pack, because use_pack_expansion_extra_args_p
doesn't detect this case.

Fixed thus.

gcc/cp/

* pt.c (use_pack_expansion_extra_args_p): When at least a
parameter pack has an empty argument pack, and another parameter
pack has no argument pack at all, use the PACK_EXPANSION_EXTRA
mechanism.

From-SVN: r198956

11 years agoDaily bump.
GCC Administrator [Thu, 16 May 2013 00:16:28 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198955

11 years agoi386.c (ix86_decompose_address): Use DEFAULT_TLS_SEG_REG to access TLS segment register.
Leif Ekblad [Wed, 15 May 2013 20:35:29 +0000 (20:35 +0000)]
i386.c (ix86_decompose_address): Use DEFAULT_TLS_SEG_REG to access TLS segment register.

* config/i386/i386.c (ix86_decompose_address): Use
DEFAULT_TLS_SEG_REG to access TLS segment register.
* config/i386/i386.h (DEFAULT_TLS_SEG_REG): New define.
* config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Ditto.
(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Ditto.

From-SVN: r198948

11 years agoprinters.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers...
François Dumont [Wed, 15 May 2013 19:39:18 +0000 (19:39 +0000)]
printers.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers iterator.

2013-05-15  François Dumont  <fdumont@gcc.gnu.org>

* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
rendering of std::tr1 unordered containers iterator.
(StdHashtableIterator): New, render std unordered containers iterator.
* testsuite/libstdc++-prettyprinters/tr1.cc: New.

From-SVN: r198947

11 years agore PR target/57260 (Generated R_MIPS_GOT_MIPS relocation for direct function call...
Richard Sandiford [Wed, 15 May 2013 19:16:34 +0000 (19:16 +0000)]
re PR target/57260 (Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64)

gcc/
PR target/57260
* config/mips/mips.c (mips_function_ok_for_sibcall): Don't allow
sibling calls to functions that would normally be lazily bound,
unless $gp is call-clobbered.

gcc/testsuite/
PR target/57260
* gcc.target/mips/call-1.c: Restrict to o32.
* gcc.target/mips/call-5.c, gcc.target/mips/call-6.c: New test.

From-SVN: r198945

11 years agoname-lookup.c (pushdecl_maybe_friend_1): Replace pairs of warning_at and permerror...
Paolo Carlini [Wed, 15 May 2013 18:24:31 +0000 (18:24 +0000)]
name-lookup.c (pushdecl_maybe_friend_1): Replace pairs of warning_at and permerror with warning_at/inform and permerror/...

/cp
2013-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

* name-lookup.c (pushdecl_maybe_friend_1): Replace pairs of
warning_at and permerror with warning_at/inform and permerror/
inform, respectively.

/testsuite
2013-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/lambda/lambda-shadow1.C: Replace dg-warnings with
dg-messages.
* g++.dg/warn/Wshadow-1.C: Likewise.
* g++.dg/warn/Wshadow-6.C: Likewise.
* g++.dg/warn/Wshadow-7.C: Likewise.

From-SVN: r198943

11 years agoi386.c (iy86_option_override_internal): Update processor_alias_table for missing...
Uros Bizjak [Wed, 15 May 2013 17:48:26 +0000 (19:48 +0200)]
i386.c (iy86_option_override_internal): Update processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.

* config/i386/i386.c (iy86_option_override_internal): Update
processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
PTA_POPCNT to corei7 entry and remove PTA_SSE from athlon-4 entry.
Do not enable SSE prefetch on non-SSE 3dNow! targets.  Enable
TARGET_PRFCHW for TARGET_3DNOW targets.
* config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
of TARGET_3DNOW.
(*prefetch_3dnow): Enable for TARGET_PRFCHW only.

From-SVN: r198942

11 years agom68k.md (*rotlhi3_lowpart, [...]): Name for rotlhi3+1 and rotlqi3+1, resp.
Andreas Schwab [Wed, 15 May 2013 16:10:59 +0000 (16:10 +0000)]
m68k.md (*rotlhi3_lowpart, [...]): Name for rotlhi3+1 and rotlqi3+1, resp.

* config/m68k/m68k.md (*rotlhi3_lowpart, *rotlqi3_lowpart): Name
for rotlhi3+1 and rotlqi3+1, resp.  Fix reference to non-existing
third operand.

From-SVN: r198940

11 years agore PR c++/31952 (parameters may be redeclared in a function try-block)
Paolo Carlini [Wed, 15 May 2013 16:10:22 +0000 (16:10 +0000)]
re PR c++/31952 (parameters may be redeclared in a function try-block)

/cp
2013-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31952
* name-lookup.c (pushdecl_maybe_friend_1): Diagnose illegal
redeclarations.

/testsuite
2013-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31952
* g++.dg/parse/pr31952-1.C: New.
* g++.dg/parse/pr31952-2.C: Likewise.
* g++.dg/parse/pr31952-3.C: Likewise.

* g++.dg/parse/pr18770.C: Adjust dg-errors to dg-messages.
* g++.old-deja/g++.jason/cond.C: Likewise.
* g++.dg/cpp0x/range-for5.C: Likewise.

From-SVN: r198939

11 years agoloop-unroll.c (report_unroll_peel): Check decision before emitting unroll/peel message.
Teresa Johnson [Wed, 15 May 2013 15:26:38 +0000 (15:26 +0000)]
loop-unroll.c (report_unroll_peel): Check decision before emitting unroll/peel message.

2013-05-15  Teresa Johnson  <tejohnson@google.com>

* loop-unroll.c (report_unroll_peel): Check decision before
        emitting unroll/peel message.

From-SVN: r198936

11 years agofunction.h (has_bb_partition): New rtl_data flag.
Teresa Johnson [Wed, 15 May 2013 14:14:15 +0000 (14:14 +0000)]
function.h (has_bb_partition): New rtl_data flag.

2013-05-15  Teresa Johnson  <tejohnson@google.com>

* function.h (has_bb_partition): New rtl_data flag.
        (bb_reorder_complete): Ditto.
* cfgcleanup.c (try_crossjump_to_edge): Check for has_bb_partition
        instead of flag_reorder_blocks_and_partition.
        * cfgrtl.c (verify_hot_cold_block_grouping): Moved from bb-reorder.c,
        with some enhancements.
        (rtl_verify_flow_info_1): Call verify_hot_cold_block_grouping.
* bb-reorder.c (connect_traces): Check for has_bb_partition
        instead of flag_reorder_blocks_and_partition.
(verify_hot_cold_block_grouping): Moved to cfgrtl.c.
(reorder_basic_blocks): Set bb_reorder_complete flag, remove call to
        verify_hot_cold_block_grouping.
(partition_hot_cold_basic_blocks): Set has_bb_partition.

From-SVN: r198934

11 years agoFix PR target/19599 - tailcall function pointers.
Ramana Radhakrishnan [Wed, 15 May 2013 11:49:06 +0000 (11:49 +0000)]
Fix PR target/19599 - tailcall function pointers.

2013-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/19599
* config/arm/predicates.md (call_insn_operand): New predicate.
* config/arm/constraints.md ("Cs", "Ss"):  New constraints.
* config/arm/arm.md (*call_insn, *call_value_insn): Match only
if insn is not a tail call.
(*sibcall_insn, *sibcall_value_insn): Adjust for tailcalling through
registers.
* config/arm/arm.h (enum reg_class): New caller save register class.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/arm/arm.c (arm_function_ok_for_sibcall): Allow tailcalling
without decls.

2013-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/19599
* gcc.target/arm/pr40887.c: Adjust testcase.
* gcc.target/arm/pr19599.c: New test.

From-SVN: r198928

11 years agotree-vect-loop.c (vect_transform_loop): Use MSG_NOTE instead of MSG_OPTIMIZED_LOCATIONS.
Richard Biener [Wed, 15 May 2013 11:13:46 +0000 (11:13 +0000)]
tree-vect-loop.c (vect_transform_loop): Use MSG_NOTE instead of MSG_OPTIMIZED_LOCATIONS.

2013-05-15  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_transform_loop): Use MSG_NOTE instead
of MSG_OPTIMIZED_LOCATIONS.
* tree-vect-slp.c (vect_make_slp_decision): Likewise.
(vect_slp_transform_bb): Indicate location in MSG_OPTIMIZED_LOCATIONS
message.
* tree-vectorizer.c (vectorize_loops): Use MSG_NOTE instead
of MSG_OPTIMIZED_LOCATIONS.
(execute_vect_slp): Likewise.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise.
(vect_recog_widen_mult_pattern): Likewise.
(vect_recog_widen_sum_pattern): Likewise.
(vect_recog_over_widening_pattern): Likewise.
(vect_recog_widen_shift_pattern): Likewise.
(vect_recog_vector_vector_shift_pattern): Likewise.
(vect_recog_divmod_pattern): Likewise.
(vect_recog_mixed_size_cond_pattern): Likewise.
(vect_recog_bool_pattern): Likewise.
(vect_pattern_recog_1): Likewise.

From-SVN: r198927

11 years agoipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to non-functions to built...
Martin Jambor [Wed, 15 May 2013 10:39:28 +0000 (12:39 +0200)]
ipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to non-functions to builtin_unreachable.

2013-05-15  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to
non-functions to builtin_unreachable.
* ipa-inline-transform.c (inline_call): Do not assert estimates were
correct when new direct edges were discovered.

From-SVN: r198926

11 years agoipa-prop.c (ipa_print_node_jump_functions): Print symbol order in header...
Martin Jambor [Wed, 15 May 2013 10:35:59 +0000 (12:35 +0200)]
ipa-prop.c (ipa_print_node_jump_functions): Print symbol order in header...

2013-05-15  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_print_node_jump_functions): Print symbol order in
header, print symbol order instead of node uid, print more information
about indirect edge targets.
(ipa_make_edge_direct_to_target): Print symbol order instead of node
uids.
(ipa_make_edge_direct_to_target): Likewise.
(remove_described_reference): Likewise.
(propagate_controlled_uses): Likewise.
(ipa_print_node_params): Also print symbol order.
(ipcp_transform_function): Print symbol order instead of node uids.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_get_create_real_symbol_node): Likewise.
* ipa-cp.c (print_lattice): Likewise.
(print_all_lattices): Likewise.
(determine_versionability): Likewise.
(initialize_node_lattices): Likewise.
(estimate_local_effects): Likewise.
(update_profiling_info): Likewise.
(create_specialized_node): Likewise.
(perhaps_add_new_callers): Likewise.
(decide_about_value): Likewise.
(decide_whether_version_node): Likewise.
(identify_dead_nodes): Likewise.
* ipa-inline-analysis.c (dump_inline_edge_summary): Likewise.
(dump_inline_summary): Likewise.
(estimate_node_size_and_time): Likewise.
(inline_analyze_function): Likewise.
* ipa-inline.c (report_inline_failed_reason): Likewise.
(want_early_inline_function_p): Likewise.
(edge_badness): Likewise.
(update_edge_key): Likewise.
(inline_small_functions): Likewise.  Add dumping of order to two other
dumps.
* ipa-pure-const.c (pure_const_read_summary): Print symbol order
instead of node uids.
(propagate_pure_const): Likewise.
(propagate_pure_const): Likewise.
* ipa-utils.c (dump_cgraph_node_set): Likewise.
* lto-cgraph.c (input_node): Explicitly specify we dump uid.
* lto-symtab.c (lto_cgraph_replace_node): Print symbol order instead
of node uids.
* tree-pretty-print.c (dump_function_header): Likewise.
* tree-sra.c (convert_callers_for_node): Dump in traditional format.
Print symbol order instead of node uids.

lto/
* lto-partition.c (lto_balanced_map): Print symbol order instead
of node uids.

From-SVN: r198925

11 years agos390.c (s390_register_move_cost): Don't impose the FPR<->GPR move cost penalty if...
Andreas Krebbel [Wed, 15 May 2013 08:57:19 +0000 (08:57 +0000)]
s390.c (s390_register_move_cost): Don't impose the FPR<->GPR move cost penalty if ldgr/lgdr can be used.

2013-05-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_register_move_cost): Don't impose the
FPR<->GPR move cost penalty if ldgr/lgdr can be used.

From-SVN: r198923

11 years ago* include/bits/basic_string.h (getline): Fix doxygen comments.
Jonathan Wakely [Wed, 15 May 2013 08:22:25 +0000 (08:22 +0000)]
* include/bits/basic_string.h (getline): Fix doxygen comments.

From-SVN: r198920

11 years agore PR tree-optimization/57275 (Error in data dependence analysis during gather vector...
Richard Biener [Wed, 15 May 2013 08:12:49 +0000 (08:12 +0000)]
re PR tree-optimization/57275 (Error in data dependence analysis during gather vectorization)

2013-05-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57275
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Fix
return value for fail to do runtime alias checks for gather loads.

* gcc.target/i386/pr57275.c: New testcase.

From-SVN: r198918

11 years agore PR c++/57038 (Latest libreoffice compilation fails with enabled LTO)
Jan Hubicka [Wed, 15 May 2013 08:09:26 +0000 (10:09 +0200)]
re PR c++/57038 (Latest libreoffice compilation fails with enabled LTO)

PR lto/57038
PR lto/47375
* lto-symtab.c (lto_symtab_symbol_p): Add external symbol; weakrefs are
not external.
(lto_symtab_merge_decls): Fix thinko when dealing with non-lto_symtab decls.
(lto_symtab_merge_cgraph_nodes): Use lto_symtab_symbol_p.
(lto_symtab_prevailing_decl): Get int sync with lto_symtab_symbol_p.
* varpool.c (dump_varpool_node): Dump more flags.

* lto-partition.c (get_symbol_class): Fix weakrefs.
(lto_balanced_map): Fix weakrefs.
(privatize_symbol_name): Remove unnecesary label.
(rename_statics): Handle weakrefs as statics.

* gcc.dg/lto/attr-weakref-1_0.c: New testcase.
* gcc.dg/lto/attr-weakref-1_1.c: New testcase.
* gcc.dg/lto/attr-weakref-1_2.c: New testcase.

From-SVN: r198917

11 years agoNew instruction (FSGSBASE) for AMD bdver3 architecture
Ganesh Gopalasubramanian [Wed, 15 May 2013 07:02:43 +0000 (07:02 +0000)]
New instruction (FSGSBASE) for AMD bdver3 architecture

From-SVN: r198916

11 years agoDaily bump.
GCC Administrator [Wed, 15 May 2013 00:16:28 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198912

11 years agoalias-1.c: Add dg-require-effective-target scheduling.
Senthil Kumar Selvaraj [Tue, 14 May 2013 23:13:20 +0000 (23:13 +0000)]
alias-1.c: Add dg-require-effective-target scheduling.

2013-05-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

    * gcc.dg/torture/alias-1.c: Add dg-require-effective-target
    scheduling.

From-SVN: r198909

11 years agore PR c++/57274 (Bogus sequence-point warning in C++)
Jakub Jelinek [Tue, 14 May 2013 20:50:43 +0000 (22:50 +0200)]
re PR c++/57274 (Bogus sequence-point warning in C++)

PR c++/57274
* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.

* c-c++-common/Wsequence-point-1.c: New test.

From-SVN: r198903

11 years agore PR c++/57243 (Using auto in range based for with templated container in templated...
Jason Merrill [Tue, 14 May 2013 20:36:32 +0000 (16:36 -0400)]
re PR c++/57243 (Using auto in range based for with templated container in templated function requires extraneous template qualifier)

PR c++/57243
* parser.c (cp_parser_range_for): Call complete_type.

From-SVN: r198901

11 years agotree.c (warn_deprecated_use): Print file:line using locus color.
Jakub Jelinek [Tue, 14 May 2013 19:41:13 +0000 (21:41 +0200)]
tree.c (warn_deprecated_use): Print file:line using locus color.

* tree.c (warn_deprecated_use): Print file:line using locus color.
* diagnostic.c (diagnostic_report_current_module): Print file:line
and file:line:column using locus color.

From-SVN: r198900

11 years ago* gdbinit.in: Add __null.
Mike Stump [Tue, 14 May 2013 19:18:00 +0000 (19:18 +0000)]
* gdbinit.in: Add __null.

From-SVN: r198899

11 years agorecog.h: Rename struct recog_data to Recog_data.
Mike Stump [Tue, 14 May 2013 19:09:29 +0000 (19:09 +0000)]
recog.h: Rename struct recog_data to Recog_data.

* recog.h: Rename struct recog_data to Recog_data.
* recog.c: Likewise.
* reload.c (can_reload_into): Likewise.
* config/picochip/picochip.c: Likewise.

From-SVN: r198898

11 years ago* web.c (union_match_dups): Also check DF_REF_REAL_LOC.
Mike Stump [Tue, 14 May 2013 17:43:57 +0000 (17:43 +0000)]
* web.c (union_match_dups): Also check DF_REF_REAL_LOC.

From-SVN: r198896

11 years agoresource.h (struct resources): Remove unch_memory member.
Steven Bosscher [Tue, 14 May 2013 17:21:43 +0000 (17:21 +0000)]
resource.h (struct resources): Remove unch_memory member.

* resource.h (struct resources): Remove unch_memory member.
(CLEAR_RESOURCE): Don't clear unch_memory.
* resource.c (mark_referenced_resources): Don't set it.
(mark_set_resources): Likewise.
(mark_target_live_regs): Don't clear it.
(init_resource_info): Likewise.
* reorg.c (resource_conflicts_p): Don't compare it.
(redundant_insn): Don't set it.

From-SVN: r198895

11 years agortl.h (next_label, [...]): Remove prototypes.
Steven Bosscher [Tue, 14 May 2013 17:20:08 +0000 (17:20 +0000)]
rtl.h (next_label, [...]): Remove prototypes.

* rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
Remove prototypes.
* emit-rtl.c (next_label): Remove unused function.
(skip_consecutive_labels, link_cc0_insns): Move to ...
* reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
only place where these functions are used, and make them static.

From-SVN: r198894

11 years agofold-const.c (fold_negate_expr): Handle vectors.
Marc Glisse [Tue, 14 May 2013 17:06:46 +0000 (19:06 +0200)]
fold-const.c (fold_negate_expr): Handle vectors.

2013-05-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (fold_negate_expr): Handle vectors.
(fold_truth_not_expr): Make it static.
(fold_invert_truthvalue): New static function.
(invert_truthvalue_loc): Handle vectors. Do not call
fold_truth_not_expr directly.
(fold_unary_loc) <BIT_NOT_EXPR>: Handle comparisons.
<TRUTH_NOT_EXPR>: Do not cast to boolean.
(fold_comparison): Handle vector constants.
(fold_binary_loc) <TRUTH_XOR_EXPR>: Remove redundant code.
(fold_ternary_loc) <VEC_COND_EXPR>: Adapt more COND_EXPR optimizations.
* tree.h (fold_truth_not_expr): Remove declaration.

gcc/testsuite/
* g++.dg/ext/vector22.C: New testcase.
* gcc.dg/binop-xor3.c: Remove xfail.

From-SVN: r198893

11 years agostl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits.
Paolo Carlini [Tue, 14 May 2013 15:17:18 +0000 (15:17 +0000)]
stl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits.

2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Use std::pointer_traits.

From-SVN: r198891

11 years ago[AArch64] Fix vcond where comparison and result have different types.
James Greenhalgh [Tue, 14 May 2013 14:56:13 +0000 (14:56 +0000)]
[AArch64] Fix vcond where comparison and result have different types.

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_vcond_internal<mode>): Rename to...
(aarch64_vcond_internal<mode><mode>): ...This, for integer modes.
(aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): ...This for
float modes. Clarify all iterator modes.
(vcond<mode><mode>): Use new name for vcond expanders.
(vcond<v_cmp_result><mode>): Likewise.
(vcondu<mode><mode>: Likewise.
* config/aarch64/iterators.md (VDQF_COND): New.

gcc/testsuite/

* gcc.target/aarch64/vect-fcm.x: Add cases testing
FLOAT cmp FLOAT ? INT : INT.
 * gcc.target/aarch64/vect-fcm-eq-d.c: Define IMODE.
 * gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
 * gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
 * gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
 * gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
 * gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.

From-SVN: r198890

11 years agore PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structu...
Jason Merrill [Tue, 14 May 2013 14:19:15 +0000 (10:19 -0400)]
re PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structure initialisation))

PR c++/57041
* pt.c (tsubst_copy_and_build): Don't recur into a designator.

From-SVN: r198887

11 years agore PR c++/53903 ([C++11] Incompatible exception-specification allowed if member expli...
Paolo Carlini [Tue, 14 May 2013 13:54:49 +0000 (13:54 +0000)]
re PR c++/53903 ([C++11] Incompatible exception-specification allowed if member explicitly-defaulted after first declaration)

/cp
2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53903
* method.c (defaulted_late_check): Check for compatible exception
specification out of class explicitly defaulted functions too.

/testsuite
2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53903
* g++.dg/cpp0x/defaulted43.C: New.

From-SVN: r198886

11 years agoUse __builtin_alloca in gcc.dg/fstack-protector-strong.c
Rainer Orth [Tue, 14 May 2013 13:11:25 +0000 (13:11 +0000)]
Use __builtin_alloca in gcc.dg/fstack-protector-strong.c

* gcc.dg/fstack-protector-strong.c: Don't include <stdlib.h>.
(alloca): Remove declaration.
(foo9): Replace alloca by __builtin_alloca.

From-SVN: r198883

11 years agore PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)
Jason Merrill [Tue, 14 May 2013 12:49:08 +0000 (08:49 -0400)]
re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)

PR c++/56998
* semantics.c (potential_constant_expression_1): Make sure the
called function is potentially constant.
* call.c (null_ptr_cst_p): Revert earlier change.

From-SVN: r198881

11 years agore PR bootstrap/57266 (comparison between signed and unsigned integer expressions...
Marc Glisse [Tue, 14 May 2013 12:06:27 +0000 (14:06 +0200)]
re PR bootstrap/57266 (comparison between signed and unsigned integer expressions in fold_binary_loc breaks m68k bootstrap)

2013-05-14  Marc Glisse  <marc.glisse@inria.fr>

PR bootstrap/57266
* fold-const.c (fold_binary_loc) <shift>: Use an unsigned
variable for the shift amount. Check that we shift by non-negative
amounts.

From-SVN: r198880

11 years agore PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf functions?)
Chung-Lin Tang [Tue, 14 May 2013 12:02:52 +0000 (12:02 +0000)]
re PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf functions?)

2013-05-14  Chung-Lin Tang  <cltang@codesourcery.com>

PR target/42017
* config/arm/arm.h (EPILOGUE_USES): Only return true
for LR_REGNUM after epilogue_completed.

From-SVN: r198879

11 years agoavr.c (avr_encode_section_info): Bail out if the type is error_mark_node.
Joern Rennecke [Tue, 14 May 2013 11:15:08 +0000 (11:15 +0000)]
avr.c (avr_encode_section_info): Bail out if the type is error_mark_node.

gcc:
        * config/avr/avr.c (avr_encode_section_info): Bail out if the type
        is error_mark_node.
gcc/testsuite:
        * testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]:
        Expect "size of array is too large" error.

From-SVN: r198876

11 years agoFix gcc.dg/fstack-protector-strong.c on Solaris/x86
Rainer Orth [Tue, 14 May 2013 10:24:03 +0000 (10:24 +0000)]
Fix gcc.dg/fstack-protector-strong.c on Solaris/x86

* gcc.dg/fstack-protector-strong.c (alloca): Declare.

From-SVN: r198872

11 years agoFix Solaris --as-needed/-z ignore detection (PR target/57261)
Rainer Orth [Tue, 14 May 2013 09:28:17 +0000 (09:28 +0000)]
Fix Solaris --as-needed/-z ignore detection (PR target/57261)

PR target/57261
* configure.ac (gcc_cv_ld_as_needed): Disable before Solaris 11
and Solaris 11+/x86 with gld.
* configure: Regenerate.

From-SVN: r198867

11 years agoexpmed.c (expand_shift_1): Canonicalize rotates by constant bitsize / 2 to bitsize...
Jakub Jelinek [Tue, 14 May 2013 08:55:34 +0000 (10:55 +0200)]
expmed.c (expand_shift_1): Canonicalize rotates by constant bitsize / 2 to bitsize - 1.

* expmed.c (expand_shift_1): Canonicalize rotates by
constant bitsize / 2 to bitsize - 1.
* simplify-rt.x (simplify_binary_operation_1) <case ROTATE,
case ROTATERT>: Likewise.

Revert:
2013-05-10  Jakub Jelinek  <jakub@redhat.com>

* config/i386/i386.md (rotateinv): New code attr.
(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
roll $31, %eax, etc.

From-SVN: r198864

11 years agore PR middle-end/57235 (ICE verify_ssa failied)
Richard Biener [Tue, 14 May 2013 08:41:14 +0000 (08:41 +0000)]
re PR middle-end/57235 (ICE verify_ssa failied)

2013-05-14  Richard Biener  <rguenther@suse.de>

PR middle-end/57235
* tree-eh.c (sink_clobbers): Give up for successors with
multiple predecessors and no virtual uses.

* g++.dg/torture/pr57235.C: New testcase.

From-SVN: r198863

11 years agosp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
Eric Botcazou [Tue, 14 May 2013 08:03:22 +0000 (08:03 +0000)]
sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.

* config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
* config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.

From-SVN: r198862

11 years agore PR tree-optimization/57251 (ICE in optab_handler, at optabs.h:258)
Jakub Jelinek [Tue, 14 May 2013 06:26:23 +0000 (08:26 +0200)]
re PR tree-optimization/57251 (ICE in optab_handler, at optabs.h:258)

PR middle-end/57251
* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
the case when both op0 and op1 have VOIDmode.

* gcc.dg/torture/pr57251.c: New test.

From-SVN: r198860

11 years agorl78.md (mulsi3_g13): Add additional 'nop' required in multiply-accumulate mode.
Kaushik Phatak [Tue, 14 May 2013 05:14:19 +0000 (05:14 +0000)]
rl78.md (mulsi3_g13): Add additional 'nop' required in multiply-accumulate mode.

        * config/rl78/rl78.md(mulsi3_g13): Add additional 'nop' required
        in multiply-accumulate mode.
--This llne, and those below, will be ignored--

M    ChangeLog
M    config/rl78/rl78.md

From-SVN: r198859

11 years agoDaily bump.
GCC Administrator [Tue, 14 May 2013 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198858

11 years agodwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.
Guozhi Wei [Mon, 13 May 2013 23:04:10 +0000 (23:04 +0000)]
dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.

* dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.

From-SVN: r198855

11 years agoMakefile.am (sources): Add bad_array_length.cc, bad_array_new.cc.
Benjamin Kosnik [Mon, 13 May 2013 22:06:28 +0000 (22:06 +0000)]
Makefile.am (sources): Add bad_array_length.cc, bad_array_new.cc.

2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>

* libsupc++/Makefile.am (sources): Add bad_array_length.cc,
bad_array_new.cc.
* libsupc++/Makefile.in: Regenerate.
* libsupc++/bad_array_length.cc: Tweak.
* libsupc++/bad_array_new.cc: Tweak.

From-SVN: r198853

11 years agore PR target/56975 (dllimport broken on i686-pc-cygwin)
Kai Tietz [Mon, 13 May 2013 19:48:15 +0000 (21:48 +0200)]
re PR target/56975 (dllimport broken on i686-pc-cygwin)

2013-05-13  Kai Tietz  <ktietz@redhat.com>

PR target/56975
* config/i386/cygming.h (TARGET_PECOFF): Define as true.
* config/i386/i386.h (TARGET_PECOFF): Define by default
as false.
(PIC_OFFSET_TABLE_REGNUM): Use TARGET_PECOFF.
* config/i386/i386.c (ix86_option_override_internal):
Likewise.
(ix86_expand_prologue): Likewise.
(ix86_expand_split_stack_prologue): Likewise.
(legitimate_pic_address_disp_p): Likewise.
(legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(legitimize_pe_coff_symbol): Likewise.
(output_pic_addr_const): Likewise.
(construct_plt_address): Likewise.
(ix86_expand_call): Likewise.
(x86_output_mi_thunk): Likewise.
(x86_function_profiler): Likewise.

From-SVN: r198852

11 years agore PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)
Jason Merrill [Mon, 13 May 2013 19:32:42 +0000 (15:32 -0400)]
re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)

PR c++/56998
* call.c (null_ptr_cst_p): An expression with side-effects can't
be a C++03 null pointer constant.

From-SVN: r198845

11 years agore PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structu...
Jason Merrill [Mon, 13 May 2013 19:32:35 +0000 (15:32 -0400)]
re PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structure initialisation))

PR c++/57041
* decl.c (reshape_init_class): Handle error_mark_node.

From-SVN: r198844

11 years agore PR c++/57254 (Overload resolution failure when ref-qualified member function templ...
Jason Merrill [Mon, 13 May 2013 19:32:28 +0000 (15:32 -0400)]
re PR c++/57254 (Overload resolution failure when ref-qualified member function templates are defined out-of-line)

PR c++/57254
* typeck.c (merge_types): Propagate ref-qualifier
in METHOD_TYPE case.

From-SVN: r198843

11 years agore PR c++/57253 (GCC ignores ref-qualifiers of pseudo-function types in explicit...
Jason Merrill [Mon, 13 May 2013 19:32:22 +0000 (15:32 -0400)]
re PR c++/57253 (GCC ignores ref-qualifiers of pseudo-function types in explicit specializations)

PR c++/57253
* decl.c (grokdeclarator): Apply ref-qualifier
in the TYPENAME case.

From-SVN: r198842

11 years agore PR c++/57252 (GCC does not treat ref-qualified overload set as ambiguous)
Jason Merrill [Mon, 13 May 2013 19:32:15 +0000 (15:32 -0400)]
re PR c++/57252 (GCC does not treat ref-qualified overload set as ambiguous)

PR c++/57252
* decl.c (decls_match): Compare ref-qualifiers.

From-SVN: r198841

11 years agocompare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 doesn't...
Mike Stump [Mon, 13 May 2013 17:52:42 +0000 (17:52 +0000)]
compare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 doesn't like long...

* compare_tests: Limit lines to 2000 characters as comm on Mac OS
X 10.8.3 doesn't like long lines (those 2055 characters or more).

From-SVN: r198840

11 years agore PR target/57264 (cld not emitted when string instructions used, and '-mcld' on...
Uros Bizjak [Mon, 13 May 2013 17:37:48 +0000 (19:37 +0200)]
re PR target/57264 (cld not emitted when string instructions used, and '-mcld' on command line)

PR target/57264
* gcc.target/i386/pr57264.c: New test.

From-SVN: r198839

11 years ago* gcc.dg/vector-shift-2.c: Add -O to dg-options.
Jakub Jelinek [Mon, 13 May 2013 16:51:30 +0000 (18:51 +0200)]
* gcc.dg/vector-shift-2.c: Add -O to dg-options.

From-SVN: r198836

11 years agoforwprop-26.c: Add -fno-short-enums to dg-options.
Greta Yorsh [Mon, 13 May 2013 14:28:25 +0000 (15:28 +0100)]
forwprop-26.c: Add -fno-short-enums to dg-options.

gcc/testsuite

2013-05-13  Greta Yorsh  <Greta.Yorsh@arm.com>

* gcc.dg/tree-ssa/forwprop-26.c: Add -fno-short-enums
to dg-options.

From-SVN: r198832

11 years agoaarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases.
Sofiane Naci [Mon, 13 May 2013 14:22:02 +0000 (14:22 +0000)]
aarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases.

* config/aarch64/aarch64-simd.md (aarch64_simd_mov<mode>): Group
similar switch cases.
(aarch64_simd_mov): Rename to aarch64_split_simd_mov. Update.
(aarch64_simd_mov_to_<mode>low): Delete.
(aarch64_simd_mov_to_<mode>high): Delete.
(move_lo_quad_<mode>): Add w<-r alternative.
(aarch64_simd_move_hi_quad_<mode>): Likewise.
    (aarch64_simd_mov_from_*): Update type attribute.
* config/aarch64/aarch64.c (aarch64_split_simd_move): Refacror switch
statement.

From-SVN: r198831

11 years agomode-switching.c (optimize_mode_switching): Set correct RTL profile.
Jan Hubicka [Mon, 13 May 2013 11:33:50 +0000 (13:33 +0200)]
mode-switching.c (optimize_mode_switching): Set correct RTL profile.

* mode-switching.c (optimize_mode_switching): Set correct RTL profile.
* config/i386/i386.c (ix86_compute_frame_layout,
ix86_expand_epilogue, emit_i387_cw_initialization, ix86_expand_vector_move_misalign,
ix86_fp_comparison_strategy, ix86_local_alignment): Fix use of size/speed predicates.

From-SVN: r198825

11 years agoRestore Solaris/amd64 Ada bootstrap (PR ada/57188)
Rainer Orth [Mon, 13 May 2013 11:07:28 +0000 (11:07 +0000)]
Restore Solaris/amd64 Ada bootstrap (PR ada/57188)

PR ada/57188
* gcc-interface/Makefile.in: Allow for amd64 solaris2.

From-SVN: r198824

11 years agore PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
Jakub Jelinek [Mon, 13 May 2013 11:04:26 +0000 (13:04 +0200)]
re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)

PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): Only recognize
the (-Y) & (B - 1) variant if OP is |.
* expmed.c (expand_shift_1): For rotations by const0_rtx just
return shifted.  Use (-op1) & (prec - 1) as other_amount
instead of prec - op1.

* c-c++-common/rotate-1.c: Add 32 tests with +.
* c-c++-common/rotate-1a.c: Adjust.
* c-c++-common/rotate-2.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-2b.c: New test.
* c-c++-common/rotate-3.c: Add 32 tests with +.
* c-c++-common/rotate-4.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-4b.c: New test.
* c-c++-common/rotate-5.c: New test.

From-SVN: r198823

11 years agore PR middle-end/42371 (dead code not eliminated during folding with whole-program)
Martin Jambor [Mon, 13 May 2013 10:16:09 +0000 (12:16 +0200)]
re PR middle-end/42371 (dead code not eliminated during folding with whole-program)

2013-05-13  Martin Jambor  <mjambor@suse.cz>

PR middle-end/42371
* ipa-prop.h (IPA_UNDESCRIBED_USE): New macro.
(ipa_constant_data): New type.
(ipa_jump_func): Use ipa_constant_data to hold information about
constant jump functions.
(ipa_get_jf_constant): Adjust to jump function type changes.
(ipa_get_jf_constant_rdesc): New function.
(ipa_param_descriptor): New field controlled_uses.
(ipa_get_controlled_uses): New function.
(ipa_set_controlled_uses): Likewise.
* ipa-ref.h (ipa_find_reference): Declare.
* ipa-prop.c (ipa_cst_ref_desc): New type.
(ipa_print_node_jump_functions_for_edge): Adjust for jump function type
changes.
(ipa_set_jf_constant): Likewise.  Also create reference descriptions.
New parameter cs.  Adjust all callers.
(ipa_analyze_params_uses): Detect uncontrolled and controlled uses.
(remove_described_reference): New function.
(jfunc_rdesc_usable): Likewise.
(try_make_edge_direct_simple_call): Decrement controlled use count,
attempt to remove reference if it hits zero.
(combine_controlled_uses_counters): New function.
(propagate_controlled_uses): Likewise.
(ipa_propagate_indirect_call_infos): Call propagate_controlled_uses.
(ipa_edge_duplication_hook): Duplicate reference descriptions.
(ipa_print_node_params): Print described use counter.
(ipa_write_jump_function): Adjust to jump function type changes.
(ipa_read_jump_function): New parameter CS, pass it to
ipa_set_jf_constant.  Adjust caller.
(ipa_write_node_info): Stream controlled use count
(ipa_read_node_info): Likewise.
* cgraph.c (cgraph_mark_address_taken_node): Bail out instead of
asserting.
* ipa-cp.c (ipcp_discover_new_direct_edges): Decrement controlled use
count.  Remove cloning-added reference if it reaches zero.
* ipa-ref.c (ipa_find_reference): New function.

testsuite/
* gcc.dg/ipa/remref-0.c: New test.
* gcc.dg/ipa/remref-1a.c: Likewise.
* gcc.dg/ipa/remref-1b.c: Likewise.
* gcc.dg/ipa/remref-2a.c: Likewise.
* gcc.dg/ipa/remref-2b.c: Likewise.

From-SVN: r198821

11 years agoAMD specific default alignment changes
Ganesh Gopalasubramanian [Mon, 13 May 2013 09:35:54 +0000 (09:35 +0000)]
AMD specific default alignment changes

From-SVN: r198820

11 years agotree-vect-generic.c (uniform_vector_p): Move ...
Marc Glisse [Mon, 13 May 2013 09:30:50 +0000 (11:30 +0200)]
tree-vect-generic.c (uniform_vector_p): Move ...

2013-05-13  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-vect-generic.c (uniform_vector_p): Move ...
* tree.c (uniform_vector_p): ... here.
* tree.h (uniform_vector_p): Declare it.
* fold-const.c (fold_binary_loc) <shift>: Turn the second argument
into a scalar.

gcc/testsuite/
* gcc.dg/vector-shift-2.c: New testcase.

From-SVN: r198819

11 years agore PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)
Jakub Jelinek [Mon, 13 May 2013 07:50:38 +0000 (09:50 +0200)]
re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)

PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Record length for
array store from STRING_CST.

* gcc.dg/strlenopt-24.c: New test.

From-SVN: r198815

11 years agore PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)
Jakub Jelinek [Mon, 13 May 2013 07:46:53 +0000 (09:46 +0200)]
re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)

PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
check.

* gcc.dg/strlenopt-23.c: New test.

From-SVN: r198813

11 years agoFix EH handling issue in last change:
Joern Rennecke [Mon, 13 May 2013 00:29:36 +0000 (00:29 +0000)]
Fix EH handling issue in last change:

        * config/epiphany/epiphany.c (epiphany_init): Check size of
        NUM_MODES_FOR_MODE_SWITCHING.
        (epiphany_expand_prologue):
        Remove CONFIG_REGNUM initial value handling code.
        (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
        (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
        (emit_set_fp_mode, epiphany_mode_after): Likewise.
        (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
        Don't return 1 for FP_MODE_NONE.
        * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
        Add value for EPIPHANY_MSW_ENTITY_CONFIG.
        (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
        * config/epiphany/epiphany.md (save_config): New pattern.

From-SVN: r198811

11 years agoDaily bump.
GCC Administrator [Mon, 13 May 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198810

11 years agoepiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING.
Joern Rennecke [Sun, 12 May 2013 21:59:13 +0000 (21:59 +0000)]
epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING.

* config/epiphany/epiphany.c (epiphany_init): Check size of
NUM_MODES_FOR_MODE_SWITCHING.
(epiphany_expand_prologue):
Remove CONFIG_REGNUM initial value handling code.
(epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
(epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
(emit_set_fp_mode): Likewise.
(epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
Don't return 1 for FP_MODE_NONE.
* config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
Add value for EPIPHANY_MSW_ENTITY_CONFIG.
(EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
* config/epiphany/epiphany.md (save_config): New pattern.

From-SVN: r198807

11 years agoi386.md (*zero_extendsidi2): Add *x->?r alternative.
Uros Bizjak [Sun, 12 May 2013 20:34:19 +0000 (22:34 +0200)]
i386.md (*zero_extendsidi2): Add *x->?r alternative.

* config/i386/i386.md (*zero_extendsidi2): Add *x->?r alternative.

From-SVN: r198806

11 years agoRemove duplicate (and incorrect) entry for r197284.
Gerald Pfeifer [Sun, 12 May 2013 18:36:47 +0000 (18:36 +0000)]
Remove duplicate (and incorrect) entry for r197284.

From-SVN: r198805

11 years agore PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode...
Oleg Endo [Sun, 12 May 2013 10:27:48 +0000 (10:27 +0000)]
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)

PR target/57108
* gcc.target/sh/pr57108.c: Move this test case to ...
* gcc.c-torture/compile/pr57108.c: ... here.

From-SVN: r198803

11 years agoDaily bump.
GCC Administrator [Sun, 12 May 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198802

11 years agoDaily bump.
GCC Administrator [Sat, 11 May 2013 00:16:35 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198799

11 years agoi386.md (memory): Handle sseishft1.
Uros Bizjak [Fri, 10 May 2013 18:47:27 +0000 (20:47 +0200)]
i386.md (memory): Handle sseishft1.

* config/i386/i386.md (memory): Handle sseishft1.
* config/i386/sse.md (*vec_extractv4si): Remove memory attribute.
(*vec_extractv2di_1): Ditto.

From-SVN: r198795

11 years agolra-assigns.c (find_hard_regno_for): Add 1 to the cost of call saved registers.
Vladimir Makarov [Fri, 10 May 2013 15:26:31 +0000 (15:26 +0000)]
lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call saved registers.

2013-05-10  Vladimir Makarov  <vmakarov@redhat.com>

* lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call
saved registers.

From-SVN: r198792

11 years agore PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
Paolo Carlini [Fri, 10 May 2013 15:18:33 +0000 (15:18 +0000)]
re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)

2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/54577
* include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
(_Deque_iterator<>::_M_const_cast): Add.
(deque<>::_M_erase): Declare.
* include/bits/deque.tcc: ... and define.
* include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
(_List_const_iterator<>::_M_const_cast): Add.
* include/bits/list.tcc (erase (iterator)): Fix.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Add; include <ext/cast.h>.
* include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
(vector<>::_M_erase): Declare.
* include/bits/stl_bvector.h: Likewise.
* include/bits/vector.tcc (vector<>::_M_erase): Define.
* include/ext/vstring.h (erase): Fix signatures in C++11 mode.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
* testsuite/util/exception/safety.h (erase_base<deque>,
erase_base<deque>, erase_base<vector>): Remove.
(erase_base<__versa_string>): Update.
* testsuite/ext/vstring/modifiers/char/54577.cc: New.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r198790

11 years agoFix spacing
Joel Sherrill [Fri, 10 May 2013 15:12:54 +0000 (15:12 +0000)]
Fix spacing

From-SVN: r198789

11 years agot-rtems-eabi: Remove mthumb/march=armv7 multilib.
Sebastian Huber [Fri, 10 May 2013 15:08:24 +0000 (15:08 +0000)]
t-rtems-eabi: Remove mthumb/march=armv7 multilib.

2013-05-10  Sebastian Huber <sebastian.huber@embedded-brains.de>

* config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
Add mthumb/march=armv7-a multilib.
Add mthumb/march=armv7-r multilib.
Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.

From-SVN: r198784

11 years agot-rtems: Add more multilibs.
Ralf Corsepius [Fri, 10 May 2013 15:02:21 +0000 (15:02 +0000)]
t-rtems: Add more multilibs.

2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config/v850/t-rtems: Add more multilibs.

From-SVN: r198781

11 years agore PR c++/57196 (Bogus "aggregate ... has incomplete type and cannot be defined")
Jason Merrill [Fri, 10 May 2013 14:17:45 +0000 (10:17 -0400)]
re PR c++/57196 (Bogus "aggregate ... has incomplete type and cannot be defined")

PR c++/57196
* pt.c (convert_template_argument): Use dependent_template_arg_p,
not uses_template_parms.

From-SVN: r198778

11 years agore PR c++/57047 ([C++11] stl_pair.h:137:64: internal compiler error: Segmentation...
Jason Merrill [Fri, 10 May 2013 14:17:37 +0000 (10:17 -0400)]
re PR c++/57047 ([C++11] stl_pair.h:137:64: internal compiler error: Segmentation fault in constexpr constructor)

PR c++/57047
* semantics.c (cxx_fold_indirect_ref): Fix thinko.

From-SVN: r198777

11 years agore PR c++/55149 (capturing VLA in lambda)
Jason Merrill [Fri, 10 May 2013 14:17:30 +0000 (10:17 -0400)]
re PR c++/55149 (capturing VLA in lambda)

PR c++/55149
* semantics.c (add_capture): Error rather than abort on copy
capture of VLA.
* typeck.c (maybe_warn_about_returning_address_of_local): Don't
warn about capture proxy.

From-SVN: r198776

11 years agoFix changelog entry
Richard Biener [Fri, 10 May 2013 12:26:10 +0000 (12:26 +0000)]
Fix changelog entry

From-SVN: r198775

11 years agore PR tree-optimization/57214 (ice: tree check: expected ssa_name, have integer_cst...
Richard Biener [Fri, 10 May 2013 12:20:36 +0000 (12:20 +0000)]
re PR tree-optimization/57214 (ice: tree check: expected ssa_name, have integer_cst in coalesce_partitions, at tree-ssa-coalesce.c:1194)

2013-05-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57214
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
not propagate from SSA names that occur in abnormal PHI nodes.

From-SVN: r198773

11 years agostor-layout.c (element_precision): New function.
Marc Glisse [Fri, 10 May 2013 11:15:14 +0000 (13:15 +0200)]
stor-layout.c (element_precision): New function.

2013-05-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* stor-layout.c (element_precision): New function.
* machmode.h (element_precision): Declare it.
* tree.c (build_minus_one_cst): New function.
(element_precision): Likewise.
* tree.h (build_minus_one_cst): Declare new function.
(element_precision): Likewise.
* fold-const.c (operand_equal_p): Use element_precision.
(fold_binary_loc): Handle vector types.
* convert.c (convert_to_integer): Use element_precision.
* gimple.c (iterative_hash_canonical_type): Handle complex and vectors
separately.

gcc/c-family/
* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
vectors.

gcc/testsuite/
* gcc.dg/vector-shift.c: New testcase.

From-SVN: r198772

11 years agogcc/
Richard Sandiford [Fri, 10 May 2013 10:52:55 +0000 (10:52 +0000)]
gcc/
* config/mips/mips-protos.h (m16_uimm3_b, m16_simm4_1, m16_nsimm4_1)
(m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4, m16_simm8_1)
(m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1, m16_uimm8_4)
(m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
* config/mips/mips.c (m16_check_op, m16_uimm3_b, m16_simm4_1)
(m16_nsimm4_1, m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4)
(m16_simm8_1, m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1)
(m16_uimm8_4, m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
* config/mips/constraints.md (Udb8, Usb5, Usb8, Usd8, Uub8, Uuw5)
(Uuw8): New constraints.
(Usb4): Move into alphabetical order.
* config/mips/predicates.md (db8_operand, sb5_operand, sb8_operand)
(sd8_operand, ub8_operand, uw8_operand): New predicates.
* config/mips/mips.md (*xor<mode>3, *xor<mode>3_mips16): Name
previously unnamed patterns.
(*add<mode>3_mips16, *xor<mode>3_mips16, *<optab>si3_mips16)
(*ashldi3_mips16, *ashrdi3_mips16, *lshrdi3_mips16)
(*slt<u>_<GPR:mode><GPR2:mode>_mips16)
(*sle<u>_<GPR:mode><GPR2:mode>_mips16): Use constraints instead
of set_attr_alternative/if_then_else.  Use extended_mips16 instead
of specific lengths.

From-SVN: r198771

11 years agoi386.md (rotateinv): New code attr.
Jakub Jelinek [Fri, 10 May 2013 08:41:17 +0000 (10:41 +0200)]
i386.md (rotateinv): New code attr.

* config/i386/i386.md (rotateinv): New code attr.
(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
roll $31, %eax, etc.

* gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction.

From-SVN: r198770

11 years agore PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
Jakub Jelinek [Fri, 10 May 2013 08:40:10 +0000 (10:40 +0200)]
re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)

PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): New function.
(ssa_forward_propagate_and_combine): Call it.

* c-c++-common/rotate-1.c: New test.
* c-c++-common/rotate-1a.c: New test.
* c-c++-common/rotate-2.c: New test.
* c-c++-common/rotate-2a.c: New test.
* c-c++-common/rotate-3.c: New test.
* c-c++-common/rotate-3a.c: New test.
* c-c++-common/rotate-4.c: New test.
* c-c++-common/rotate-4a.c: New test.

From-SVN: r198769