platform/upstream/gcc.git
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

11 years agotestsuite_abi.cc (check_version): Add CXXABI_1.3.8.
Uros Bizjak [Fri, 10 May 2013 07:54:22 +0000 (09:54 +0200)]
testsuite_abi.cc (check_version): Add CXXABI_1.3.8.

* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.

From-SVN: r198768

11 years agotree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling...
Richard Biener [Fri, 10 May 2013 07:52:25 +0000 (07:52 +0000)]
tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling when we version for aliasing.

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

* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
disable peeling when we version for aliasing.
(vector_alignment_reachable_p): Honor explicit user alignment.
(vect_supportable_dr_alignment): Likewise.
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
* tree-vect-loop.c (vect_transform_loop): First apply versioning,
then peeling to arrange for the cost-model check to come first.

* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
* gcc.target/i386/l_fma_double_1.c: Adjust.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.

From-SVN: r198767

11 years agoconfigure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
Alan Modra [Fri, 10 May 2013 02:07:53 +0000 (11:37 +0930)]
configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.

* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
(HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
* configure: Regenerate.

From-SVN: r198766

11 years agore PR target/55033 (PowerPC section type conflict error)
Alan Modra [Fri, 10 May 2013 01:06:49 +0000 (10:36 +0930)]
re PR target/55033 (PowerPC section type conflict error)

PR target/55033
* varasm.c (default_elf_select_section): Move !DECL_P check..
(get_named_section): ..to here before calling get_section_name.
Adjust assertion.
(default_section_type_flags): Add DECL_P check.
* config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.

From-SVN: r198762

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

From-SVN: r198760

11 years ago* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.
Jason Merrill [Thu, 9 May 2013 22:08:59 +0000 (18:08 -0400)]
* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.

From-SVN: r198756

11 years agoepiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a registe...
Joern Rennecke [Thu, 9 May 2013 20:11:12 +0000 (20:11 +0000)]
epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a register offset...

        * config/epiphany/epiphany.c (epiphany_expand_prologue):
        When using gen_stack_adjust_str with a register offset, add a
        REG_FRAME_RELATED_EXPR note.

From-SVN: r198753

11 years agosse.md (*vec_extractv4si_0_zext): New pattern.
Uros Bizjak [Thu, 9 May 2013 19:36:56 +0000 (21:36 +0200)]
sse.md (*vec_extractv4si_0_zext): New pattern.

* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern.
(*vec_extractv4si_zext_mem): Ditto.
(*vec_extractv2di): Add 0->x and x->x alternatives.
* config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern.
* config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative.

From-SVN: r198752

11 years agore PR c++/57222 (Template alias not working in argument of template class template...
Jason Merrill [Thu, 9 May 2013 16:43:49 +0000 (12:43 -0400)]
re PR c++/57222 (Template alias not working in argument of template class template method)

PR c++/57222
* pt.c (lookup_template_class_1): Handle getting a template
template parameter as D1.

From-SVN: r198747

11 years agoN3639 C++1y VLA diagnostics
Jason Merrill [Thu, 9 May 2013 16:43:43 +0000 (12:43 -0400)]
N3639 C++1y VLA diagnostics

* decl.c (grokdeclarator): Complain about reference, pointer, or
typedef to VLA.
(create_array_type_for_decl): Complain about array of VLA.
* pt.c (tsubst): Likewise.
* rtti.c (get_tinfo_decl): Talk about "array of runtime bound".
* semantics.c (finish_decltype_type): Complain about decltype of VLA.
* typeck.c (cp_build_addr_expr_1): Complain about VLA.
(cxx_sizeof_or_alignof_type): Likewise.

From-SVN: r198746

11 years agoN3639 C++1y VLA support
Jason Merrill [Thu, 9 May 2013 16:43:36 +0000 (12:43 -0400)]
N3639 C++1y VLA support

gcc/
* gimplify.c (gimplify_vla_decl): Don't touch an existing
DECL_VALUE_EXPR.
gcc/cp/
* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
(check_array_initializer): Allow VLA init.
(reshape_init_array_1): Adjust.
(cp_finish_decl): Check for invalid VLA length.
* typeck2.c (process_init_constructor_array): Adjust.
(store_init_value): Use build_vec_init for VLAs.
* semantics.c (add_capture): Capture VLA as ptr+len.
(vla_capture_type): New.
(build_capture_proxy): Rebuild the VLA.
* typeck.c (build_simple_component_ref): Split out from...
(build_ptrmemfunc_access_expr): ...here.
* tree.c (array_of_runtime_bound_p): New.
* init.c (throw_bad_array_length): New.
(build_vec_init): Use it.
* parser.c (cp_convert_range_for): When iterating over a VLA,
use it directly rather than bind a reference.
* cp-tree.h: Declare new functions.
libstdc++-v3/
* libsupc++/new: Add std::bad_array_length.
* libsupc++/bad_array_length.cc: New.
* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
* libsupc++/Makefile.in: Build them.
* config/abi/pre/gnu.ver: Add new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.

From-SVN: r198745

11 years agotree.c (build_constructor_va): New.
Jason Merrill [Thu, 9 May 2013 16:43:27 +0000 (12:43 -0400)]
tree.c (build_constructor_va): New.

* tree.c (build_constructor_va): New.
* tree.h: Declare it.

From-SVN: r198744

11 years agore PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)
Martin Jambor [Thu, 9 May 2013 16:32:17 +0000 (18:32 +0200)]
re PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)

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

PR lto/57084
* gimple-fold.c (canonicalize_constructor_val): Call
cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.

From-SVN: r198743

11 years agoJan Hubicka <jh@suse.cz>
Jan Hubicka [Thu, 9 May 2013 15:37:12 +0000 (17:37 +0200)]
Jan Hubicka  <jh@suse.cz>
Richard Biener  <rguenther@suse.de>

PR lto/54095
* symtab.c (symtab_make_decl_local): Do not add private names.

* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
(lto_register_var_decl_in_symtab): Likewise.
(lto_main): Promote statics.
* lto-partition.c (privatize_symbol_name): New function.
(promote_symbol): Use it.
(may_need_named_section_p): New predicate.
(rename_statics): New functions.
(lto_promote_cross_file_statics): Simplify; do renaming.
(lto_promote_statics_nonwpa): New function.
* lto-partition.h (lto_promote_statics_nonwpa): New function.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r198741

11 years agore PR lto/54095 (Unnecessary static variable renaming)
Jan Hubicka [Thu, 9 May 2013 09:51:52 +0000 (11:51 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)

PR lto/54095
* symtab.c (insert_to_assembler_name_hash): Handle clones.
(unlink_from_assembler_name_hash): Likewise.
(symtab_prevail_in_asm_name_hash, symtab_register_node,
symtab_unregister_node, symtab_initialize_asm_name_hash,
change_decl_assembler_name): Update.

From-SVN: r198736