gcc.git
12 years agoruntime: Fix call to _dl_get_tls_static_info for i386.
Ian Lance Taylor [Tue, 5 Jun 2012 06:19:19 +0000 (06:19 +0000)]
runtime: Fix call to _dl_get_tls_static_info for i386.

From-SVN: r188230

12 years agomksysinfo: Fix for recent change to glibc <sys/resource.h>.
Ian Lance Taylor [Tue, 5 Jun 2012 05:32:54 +0000 (05:32 +0000)]
mksysinfo: Fix for recent change to glibc <sys/resource.h>.

From-SVN: r188228

12 years agoFix typo.
Mike Stump [Tue, 5 Jun 2012 03:11:59 +0000 (03:11 +0000)]
Fix typo.

From-SVN: r188227

12 years agoFix typo.
Mike Stump [Tue, 5 Jun 2012 02:46:52 +0000 (02:46 +0000)]
Fix typo.

From-SVN: r188226

12 years agors6000.c (ptr_regno_for_savres): Comment.
Alan Modra [Tue, 5 Jun 2012 01:59:14 +0000 (11:29 +0930)]
rs6000.c (ptr_regno_for_savres): Comment.

gcc/
* config/rs6000/rs6000.c (ptr_regno_for_savres): Comment.
(rs6000_emit_prologue): Ensure register used for inline saves
of vector regs is not the static chain register.  Revise comment.
gcc/testsuite/
* gcc.target/powerpc/savres.c: Add -mdynamic-no-pic for darwin.
Check static chain in nested funcs.

From-SVN: r188225

12 years agomd.texi (Standard Pattern Names For Generation): Document sincos pattern.
Oleg Endo [Tue, 5 Jun 2012 00:51:04 +0000 (00:51 +0000)]
md.texi (Standard Pattern Names For Generation): Document sincos pattern.

* doc/md.texi (Standard Pattern Names For Generation): Document
sincos pattern.

From-SVN: r188219

12 years agoAdd ChangeLog entry for previous commit.
Diego Novillo [Tue, 5 Jun 2012 00:36:08 +0000 (20:36 -0400)]
Add ChangeLog entry for previous commit.

From-SVN: r188218

12 years agoExtend validate_failures.py to run outside the build directory.
Diego Novillo [Tue, 5 Jun 2012 00:28:56 +0000 (20:28 -0400)]
Extend validate_failures.py to run outside the build directory.

This patch adds three new arguments to validate_failures.py so
it can be used outside the build directory:

--ignore_missing_failures
    When a failure is expected in the manifest but it is not found in
    the actual results, the script produces a note alerting to this
    fact. This means that the expected failure has been fixed, or it
    did not run, or it may simply be flaky.

    With this option, one can ask the script not to show the missing
    failures.

--manifest
    Name of the manifest file to use.  By default, the script will
    look for the manifest file in the source directory associated with
    this build.  With this option, one can point to any arbitrary
    manifest file.  I renamed the old --manifest flag to
    --produce_manifest.

--results
    Space-separated list of .sum files with the testing results to
    check. The only content needed from these files are the lines
    starting with FAIL, XPASS or UNRESOLVED.

From-SVN: r188217

12 years agoDaily bump.
GCC Administrator [Tue, 5 Jun 2012 00:17:21 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188216

12 years agoSkip debug insns in ix86_sched_reorder
H.J. Lu [Mon, 4 Jun 2012 23:31:54 +0000 (23:31 +0000)]
Skip debug insns in ix86_sched_reorder

PR bootstrap/53555
* config/i386/i386.c (ix86_sched_reorder) Skip debug insns.

From-SVN: r188212

12 years agodwarf2out.c (is_unit_die): New.
Jason Merrill [Mon, 4 Jun 2012 21:45:31 +0000 (17:45 -0400)]
dwarf2out.c (is_unit_die): New.

* dwarf2out.c (is_unit_die): New.
(copy_declaration_context, copy_ancestor_tree): Use it.
(copy_decls_walk): Likewise.

From-SVN: r188209

12 years agore PR fortran/50619 (Surprising interaction between -finit-real=NAN and the associat...
Tobias Burnus [Mon, 4 Jun 2012 21:01:02 +0000 (23:01 +0200)]
re PR fortran/50619 (Surprising interaction between  -finit-real=NAN and the associate construct)

2012-06-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50619
        * resolve.c (build_default_init_expr): Don't initialize
        ASSOCIATE names.

2012-06-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50619
        * gfortran.dg/init_flag_10.f90: New.

From-SVN: r188208

12 years agore PR c++/53524 (Bogus enum comparison warning)
Paolo Carlini [Mon, 4 Jun 2012 19:27:12 +0000 (19:27 +0000)]
re PR c++/53524 (Bogus enum comparison warning)

2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53524
* doc/invoke.texi (Wenum-compare): Update documentation.

/cp
2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53524
* call.c (build_conditional_expr_1): Use OPT_Wenum_compare
to control enumeral mismatch in conditional expression too.

/testsuite
2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53524
* g++.dg/warn/Wenum-compare-no-2: New.

From-SVN: r188204

12 years agoPR preprocessor/53463 - Fix system header detection for built-in macro tokens
Dodji Seketeli [Mon, 4 Jun 2012 19:19:58 +0000 (19:19 +0000)]
PR preprocessor/53463 - Fix system header detection for built-in macro tokens

The location for a built-in macro token is BUILTIN_LOCATION.  When we
see that location value, we cannot know if that token was used in a
system header or not.  And that can trigger some unwanted warnings on
e.g, the use of __LONG_LONG_MAX__ built-in macro in system headers
when we compile with -pedantic, like in the test case accompanying
this patch.

In that case, I think we ought to step-up to see where the built-in
macro has been expanded, until we see a location that is not for a
built-in macro.  Then we can check if the resulting location is in a
system header or not.

Now that we step up to the location of first non-built-in-macro token,
it appeared that for
testsuite/c-c++-common/dfp/convert-int-saturate.c, G++ then fails to
emit the warning in:

    volatile unsigned int usi;
    int
    main ()
    {
      usi = DEC32_MAX;  /* { dg-warning "overflow in implicit constant conversion" } */
     ...
    }

Because DEC32_MAX is defined in the system header float.h as a
built-in macro:

    #define DEC32_MAX __DEC32_MAX__

And during the parsing of the assignment expression that should have
led to the warning above, input_location is set to the location for
the DEC32_MAX, which is actually the location for the built-in
__DECL32_MAX_EXP.

A possible fix is to use the location of the "=" operator as the
default location for assignment expressions.  This is what the patch
does.

I had to adjust a couple of tests to arrange for this.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/

PR preprocessor/53463
* line-map.c (linemap_location_in_system_header_p): For built-in
macro tokens, check the first expansion point location for that is
not for a token coming from a built-in macro.

gcc/cp/

PR preprocessor/53463
* parser.c (cp_parser_assignment_expression): Use the location
for the LHS as the default location for the expression.

gcc/testsuite/

PR preprocessor/53463
* g++.dg/cpp/limits.C: New test.
* g++.dg/parse/error19.C: Adjust.
* g++.dg/warn/Wconversion-real-integer2.C: Likewise.
* g++.dg/warn/pr35635.C: Likewise.
* g++.old-deja/g++.pt/assign1.C: Likewise.

From-SVN: r188203

12 years agoPR 53456 Fix incorrect ChangeLog entry.
Robert Mason [Mon, 4 Jun 2012 19:15:21 +0000 (22:15 +0300)]
PR 53456 Fix incorrect ChangeLog entry.

From-SVN: r188202

12 years agoPR 53456 Fix typo in gf_cputime.
Robert Mason [Mon, 4 Jun 2012 19:13:49 +0000 (22:13 +0300)]
PR 53456 Fix typo in gf_cputime.

2012-06-04  Robert Mason  <rbmj@verizon.net>
    Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/53456
* intrinsics/time_1.h (gf_cputime): Fix typo in clock_gettime branch.

From-SVN: r188201

12 years agore PR target/53559 (ICE on altivec builtins stv[l|r]x[l])
Edmar Wienskoski [Mon, 4 Jun 2012 18:44:53 +0000 (18:44 +0000)]
re PR target/53559 (ICE on altivec builtins stv[l|r]x[l])

2012-06-04  Edmar Wienskoski  <edmar@freescale.com>

PR target/53559
* config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
operands.
(altivec_stvlxl): Ditto.
(altivec_stvrx): Ditto.
(altivec_stvrxl): Ditto.

gcc/testsuite
2012-06-04  Edmar Wienskoski  <edmar@freescale.com>

PR target/53559
* gcc.target/powerpc/cell_builtin_1.c: New test case.
* gcc.target/powerpc/cell_builtin_2.c: Ditto.
* gcc.target/powerpc/cell_builtin_3.c: Ditto.
* gcc.target/powerpc/cell_builtin_4.c: Ditto.
* gcc.target/powerpc/cell_builtin_5.c: Ditto.
* gcc.target/powerpc/cell_builtin_6.c: Ditto.
* gcc.target/powerpc/cell_builtin_7.c: Ditto.
* gcc.target/powerpc/cell_builtin_8.c: Ditto.

From-SVN: r188200

12 years agoira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.
Vladimir Makarov [Mon, 4 Jun 2012 18:27:36 +0000 (18:27 +0000)]
ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.

2012-06-04  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (struct target_ira_int): Add member
x_ira_uniform_class_p.
(ira_uniform_class_p): New macro.

* ira.c (setup_uniform_class_p): New function.
(setup_allocno_and_important_classes): Call the function.
(print_unform_and_important_classes): New function.
(print_classes): Rename to print_translated_classes.
(ira_debug_allocno_classes): Add call of
print_unform_and_important_classes.

* ira-costs.c (setup_regno_cost_classes_by_aclass): Use uniform
classes instead of pressure classes.

From-SVN: r188199

12 years agoc-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
Sterling Augustine [Mon, 4 Jun 2012 17:52:42 +0000 (17:52 +0000)]
c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.

2012-06-04   Sterling Augustine  <saugustine@google.com>

* gcc/c-family/c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
* gcc/c-family/c-pretty-print.c (pp_c_specifier_qualifier_list): Check
it at both the start and end of the function.
* gcc/cp/error.c (dump_decl): Check pp_c_flag_gnu_v3.
(decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
(lang_decl_name): Handle namespace decls.
* gcc/cp/cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name.
* gcc/cp/cp-lang.c: Call them.

From-SVN: r188195

12 years agore PR middle-end/47530 ([trans-mem] tail call optimization problem with _ITM_commitTr...
Aldy Hernandez [Mon, 4 Jun 2012 16:51:24 +0000 (16:51 +0000)]
re PR middle-end/47530 ([trans-mem] tail call optimization problem with _ITM_commitTransaction)

        PR middle-end/47530
        * trans-mem.c (expand_block_edges): Do not skip the first
        statement when resetting the BB.

From-SVN: r188190

12 years agotree-data-ref.c (stores_from_loop): Remove.
Richard Guenther [Mon, 4 Jun 2012 15:04:15 +0000 (15:04 +0000)]
tree-data-ref.c (stores_from_loop): Remove.

2012-06-04  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (stores_from_loop): Remove.
(stmt_with_adjacent_zero_store_dr_p): Likewise.
(stores_zero_from_loop): Likewise.
* tree-data-ref.h (stores_from_loop, stores_zero_from_loop,
stmt_with_adjacent_zero_store_dr_p, stride_of_unit_type_p): Remove.
(adjacent_store_dr_p): New function.
* tree-loop-distribution.c (generate_memset_builtin): Pass
the RDG, use the already available data-reference.
(generate_code_for_partition): Pass down RDG.
(classify_partition): Inline parts of the former
stmt_with_adjacent_zero_store_dr_p here and use adjacent_store_dr_p.
(ldist_gen): Remember if there was any detected builtin and
do less work if not and flag_tree_loop_distribution is not set.
(tree_loop_distribution): Inline and fuse stores_from_loop
and stores_zero_from_loop here.

From-SVN: r188186

12 years ago* g++.dg/debug/dwarf2/nested-3.C: Allow for | comments.
Andreas Schwab [Mon, 4 Jun 2012 14:48:58 +0000 (14:48 +0000)]
* g++.dg/debug/dwarf2/nested-3.C: Allow for | comments.

From-SVN: r188185

12 years agore PR lto/53471 (ICE in pp_base_format, at pretty-print.c:510 (-flto -g))
Richard Guenther [Mon, 4 Jun 2012 13:19:17 +0000 (13:19 +0000)]
re PR lto/53471 (ICE in pp_base_format, at pretty-print.c:510 (-flto -g))

2012-06-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/53471
* dwarf2out.c (dwarf2out_finish): If generating LTO do not
create new assembler names.

From-SVN: r188181

12 years agotree-data-ref.c (struct rdg_vertex_info): Remove.
Richard Guenther [Mon, 4 Jun 2012 13:18:16 +0000 (13:18 +0000)]
tree-data-ref.c (struct rdg_vertex_info): Remove.

2012-06-04  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (struct rdg_vertex_info): Remove.
(rdg_vertex_for_stmt): Simplify using gimple_uid.
(create_rdg_vertices): Pass loop argument, remove stmt to RDG index
hashtable.   Record stmt data-references.
(hash_stmt_vertex_info): Remove.
(eq_stmt_vertex_info): Likewise.
(hash_stmt_vertex_del): Likewise.
(build_empty_rdg): Simplify.
(build_rdg): Adjust.
(free_rdg): Likewise.
(ref_base_address): Remove.
(have_similar_memory_accesses): Likewise.
* tree-data-ref.h (create_rdg_vertices): Remove.
(struct rdg_vertex): Add datarefs member.
(RDGV_DATAREFS): New define.
(RDG_DATAREFS): Likewise.
(have_similar_memory_accesses): Remove.
(rdg_has_similar_memory_accesses): Likewise.
* tree-loop-distribution.c (ref_base_address): Re-implement here.
(similar_memory_accesses): Re-implement using existing data-references.
(tree_loop_distribution): Initialize stmt uids for the stmt to
RDG index mapping.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Only
access stmt vinfo for stmts in loop.

From-SVN: r188180

12 years agore PR target/53461 (Incorrect handling of CASE_VECTOR_PC_RELATIVE in config/m68k.md)
Andreas Schwab [Mon, 4 Jun 2012 13:13:09 +0000 (13:13 +0000)]
re PR target/53461 (Incorrect handling of CASE_VECTOR_PC_RELATIVE in config/m68k.md)

PR target/53461
* config/m68k/m68k.md ("tablejump"): Fix check for
CASE_VECTOR_PC_RELATIVE.

From-SVN: r188179

12 years agooutput.h (merge_weak, [...]): Move protos from here...
Steven Bosscher [Mon, 4 Jun 2012 11:17:58 +0000 (11:17 +0000)]
output.h (merge_weak, [...]): Move protos from here...

* output.h (merge_weak, assemble_alias,
initializer_constant_valid_p,
initializer_constant_valid_for_bitfield_p): Move protos from here...
* tree.h: ... to here.

* cgraphclones.c: Do not include output.h.
* gimplify.c: Likewise.
* reload.c: Likewise.
* recog.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-switch-conversion.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.

* Makefile.in: Fix dependencies.

c-family/
* c-common.c: Do not include output.h.
* c-pragma.c: Likewise.

cp/
* semantics.c: Do not include output.h.
* decl2.c: Likewise.
* friend.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
* Make-lang.in: Fix dependencies.

ada/
* gcc-interface/utils2.c: Do not include output.h.
* gcc-interface/Make-lang.in: Fix dependencies.

From-SVN: r188178

12 years agore PR target/46261 (avr-gcc: Segfaults when compiled with the -mint8 option)
Georg-Johann Lay [Mon, 4 Jun 2012 09:48:34 +0000 (09:48 +0000)]
re PR target/46261 (avr-gcc: Segfaults when compiled with the -mint8 option)

PR target/46261
* config/avr/avr-stdint.h: New file.
* config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
newlib-stdint.h

From-SVN: r188172

12 years agoUpdate Copyright years.
Jakub Jelinek [Mon, 4 Jun 2012 09:27:33 +0000 (11:27 +0200)]
Update Copyright years.

From-SVN: r188171

12 years agore PR tree-optimization/53550 (ICE with -O{1,2,3} -fprefetch-loop-arrays in build2_st...
Jakub Jelinek [Mon, 4 Jun 2012 09:23:27 +0000 (11:23 +0200)]
re PR tree-optimization/53550 (ICE with -O{1,2,3} -fprefetch-loop-arrays in build2_stat, at tree.c:3803)

PR tree-optimization/53550
* tree-ssa-loop-niter.c (number_of_iterations_cond): If type
is POINTER_TYPE_P, use sizetype as step type instead of type.

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

From-SVN: r188169

12 years agotree-data-ref.c (have_similar_memory_accesses_1): Remove.
Richard Guenther [Mon, 4 Jun 2012 09:00:21 +0000 (09:00 +0000)]
tree-data-ref.c (have_similar_memory_accesses_1): Remove.

2012-06-04  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (have_similar_memory_accesses_1): Remove.
(ref_base_address_1): Likewise.
(remove_similar_memory_refs): Likewise.
* tree-data-ref.h (remove_similar_memory_refs): Remove.
* tree-loop-distribution.c (classify_partition): Do not classify
as builtin if -ftree-loop-distribute-patterns is not enabled.
(fuse_partitions_with_similar_memory_accesses): Inline ...
(ldist_gen): ... here.  Fuse all non-builtin partitions if
-ftree-loop-distribution is not enabled.  Properly return
the number of created partitions.  Do not update SSA form here
but ...
(tree_loop_distribution): ... once here for the whole function.
Only walk innermost loops, constrain loops we consider here
further.  Do not call remove_similar_memory_refs.
(distribute_loop): Do not check number of loop nodes here.

* gcc.dg/tree-ssa/ldist-11.c: Enable -ftree-loop-distribute-patterns.
* gcc.dg/tree-ssa/ldist-17.c: Likewise.
* gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.

From-SVN: r188168

12 years ago* Makefile.in (GIMPLE_H): Do not depend on TARGET_H.
Steven Bosscher [Mon, 4 Jun 2012 08:09:12 +0000 (08:09 +0000)]
* Makefile.in (GIMPLE_H): Do not depend on TARGET_H.

From-SVN: r188166

12 years agoruntime: Better SWIG interface for allocating Go memory from C/C++.
Ian Lance Taylor [Mon, 4 Jun 2012 05:34:59 +0000 (05:34 +0000)]
runtime: Better SWIG interface for allocating Go memory from C/C++.

From-SVN: r188164

12 years agoFix bug added to sparc 64-bit sub_ddmmss() implementation.
David S. Miller [Mon, 4 Jun 2012 01:54:59 +0000 (01:54 +0000)]
Fix bug added to sparc 64-bit sub_ddmmss() implementation.

* longlong.h [SPARC] (sub_ddmmss): Fix thinko in previous 64-bit
change.

From-SVN: r188163

12 years agoDaily bump.
GCC Administrator [Mon, 4 Jun 2012 00:18:14 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188160

12 years agoipa-prop.h (ipa_get_jf_known_type_offset): New function.
Martin Jambor [Sun, 3 Jun 2012 22:10:19 +0000 (00:10 +0200)]
ipa-prop.h (ipa_get_jf_known_type_offset): New function.

2012-06-03  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (ipa_get_jf_known_type_offset): New function.
(ipa_get_jf_known_type_base_type): Likewise.
(ipa_get_jf_known_type_component_type): Likewise.
(ipa_get_jf_constant): Likewise.
(ipa_get_jf_pass_through_formal_id): Likewise.
(ipa_get_jf_pass_through_operation): Likewise.
(ipa_get_jf_ancestor_offset): Likewise.
(ipa_get_jf_ancestor_type): Likewise.
(ipa_get_jf_ancestor_formal_id): Likewise.
(ipa_get_jf_member_ptr_pfn): Likewise.
* ipa-prop.c (ipa_set_jf_known_type): New function.
(ipa_set_jf_constant): Likewise.
(ipa_set_jf_simple_pass_through): Likewise.
(ipa_set_jf_arith_pass_through): Likewise.
(ipa_set_ancestor_jf): Likewise.
(fill_member_ptr_cst_jump_function): Moved up and renamed to
ipa_set_jf_member_ptr_cst.
(detect_type_change_1): Use the new jump function creation functions.
(compute_complex_assign_jump_func): Likewise.
(compute_complex_ancestor_jump_func): Likewise.
(compute_known_type_jump_func): Likewise.
(compute_scalar_jump_functions): Likewise.
(compute_pass_through_member_ptrs): Likewise.
(determine_cst_member_ptr): Likewise.
(combine_known_type_and_ancestor_jfs): Likewise.
(try_make_edge_direct_simple_call): Likewise.
(try_make_edge_direct_virtual_call): Likewise.
(update_indirect_edges_after_inlining): Likewise.
* ipa-cp.c (ipa_get_jf_pass_through_result): Use jump function
access functions.  Incorporat NOP_EXPR and BINFO handling from its
callers.
(ipa_get_jf_ancestor_result): Likewise.  Incorporate handling BINFOs
which was in its callers.
(ipa_value_from_jfunc): Use jump function access functions.  Some
functionality moved to functions above.
(propagate_vals_accross_ancestor): Likewise.
(propagate_vals_accross_pass_through): Use jump function access
functions.
(propagate_accross_jump_function): Likewise.
* ipa-inline-analysis.c (remap_edge_change_prob): Use jump function
access functions.
(inline_merge_summary): Likewise.

From-SVN: r188156

12 years agore PR fortran/48831 (check.c: Constant expression (PARAMETER array element) rejected...
Alessandro Fanfarillo [Sun, 3 Jun 2012 13:21:50 +0000 (07:21 -0600)]
re PR fortran/48831 (check.c: Constant expression (PARAMETER array element) rejected as nonconstant)

2012-06-03  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/48831
        * gfortran.h (gfc_check_init_expr): Add prototype declaration
        of function.
        * check.c (kind_check): Change if condition to use
        to gfc_check_init_expr.
        * expr.c (check_init_expr): Remove forward declaration
        and static keyword. Change name in gfc_check_init_expr.

2012-06-03  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

        PR fortran/48831
        * gfortran.dg/parameter_array_element_2.f90: New.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r188152

12 years agopa.h (MAX_PCREL17F_OFFSET): Define.
John David Anglin [Sun, 3 Jun 2012 12:46:44 +0000 (12:46 +0000)]
pa.h (MAX_PCREL17F_OFFSET): Define.

* config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
* config/pa/pa.c (pa_attr_length_millicode_call): Use
MAX_PCREL17F_OFFSET instead of fixed offset.
(pa_attr_length_call): Likewise.
(pa_attr_length_indirect_call): Likewise.

From-SVN: r188151

12 years agore PR target/53512 (SH Target: Allow fsca and fsrra for non-SH4A)
Oleg Endo [Sun, 3 Jun 2012 11:26:54 +0000 (11:26 +0000)]
re PR target/53512 (SH Target: Allow fsca and fsrra for non-SH4A)

PR target/53512
* sh.opt (mfsca, mfsrra): New options.
* sh.md (rsqrtsf2): Use TARGET_FPU_ANY and TARGET_FSRRA condition.
(fsca): Use TARGET_FPU_ANY and TARGET_FSCA condition.
(sinssf2, cossf2): Fold expanders to ...
(sincossf3): ... this new expander.  Use TARGET_FPU_ANY and
TARGET_FSCA condition.
* sh.c (sh_option_override): Handle TARGET_FSRRA and TARGET_FSCA.
* doc/invoke.texi (SH Options): Add descriptions for -mfsca,
-mno-fsca, -mfsrra, -mno-fsrra.

PR target/53512
* gcc.target/sh/pr53512-1.c: New.
* gcc.target/sh/pr53512-2.c: New.
* gcc.target/sh/pr53512-3.c: New.
* gcc.target/sh/pr53512-4.c: New.

From-SVN: r188149

12 years ago4600.md (r4700_imul_si): New.
Matt Turner [Sun, 3 Jun 2012 08:00:19 +0000 (08:00 +0000)]
4600.md (r4700_imul_si): New.

gcc/
2012-03-24  Matt Turner  <mattst88@gmail.com>

* config/mips/4600.md (r4700_imul_si): New.
(r4700_imul_di): New.
(r4700_fmul_single): New.
(r4700_fmul_double): New.
* config/mips/mips-cpus.def: Add r4700.
* config/mips/mips.c: Likewise.
* config/mips/mips.md: Likewise.
* config/mips/mips-tables.opt: Regenerate.

From-SVN: r188148

12 years agoDaily bump.
GCC Administrator [Sun, 3 Jun 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188146

12 years agoRestore Sparc build.
Steven Bosscher [Sat, 2 Jun 2012 21:51:18 +0000 (21:51 +0000)]
Restore Sparc build.

gcc/

* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Split out to
new function sparc_initial_elimination_offset.
* config/sparc/sparc.c (sparc_initial_elimination_offset): New
function.
* config/sparc/sparc-protos.h (sparc_initial_elimination_offset):
Prototype it.

From-SVN: r188142

12 years ago2012-06-2 Kenneth Zadeck <zadeck@naturalbridge.com>
Kenneth Zadeck [Sat, 2 Jun 2012 16:08:39 +0000 (16:08 +0000)]
2012-06-2  Kenneth Zadeck <zadeck@naturalbridge.com>

* expmed.c (expand_mult, choose_multiplier): Change "2 *
HOST_BITS_PER_WIDE_INT" to "HOST_BITS_PER_DOUBLE_INT".
* expr.c (convert_modes): Likewise.
* explow.c (plus_constant): Likewise.
* fixed-value.c (fixed_saturate1, fixed_saturate2)
(do_fixed_add, do_fixed_multiply, do_fixed_multiply)
(do_fixed_multiply, do_fixed_multiply, do_fixed_divide)
(do_fixed_divide, do_fixed_divide, do_fixed_divide)
(do_fixed_divide, do_fixed_divide, do_fixed_shift, do_fixed_shift)
(do_fixed_shift, fixed_convert, fixed_convert)
(fixed_convert_from_int, fixed_convert_from_int)
(fixed_convert_from_real): Likewise.
* fold-const.c (fold_convert_const_int_from_fixed, sign_bit_p)
(native_interpret_int, fold_binary_loc, fold_ternary_loc): Likewise.
* varasm.c (output_constructor_bitfield): Likewise.
* tree-vrp.c (register_edge_assert_for_2): Likewise.
* double-int.c (rshift_double, lshift_double): Likewise.
* double-int.h (double_int_fits_in_uhwi_p, double_int, double_int): Likewise.
* simplify-rtx.c (mode_signbit_p)
(simplify_const_unary_operation, simplify_binary_operation_1)
(simplify_immed_subreg): Likewise.
* builtins.c (c_readstr, fold_builtin_bitop): Likewise.
* tree-vect-generic.c (build_replicated_const): Likewise.
* dbxout.c (stabstr_O): Likewise.
* emit-rtl.c (immed_double_int_const, immed_double_const)
(gen_lowpart_common, init_emit_once): Likewise.
* tree.c (integer_pow2p, tree_log2, tree_floor_log2)
(widest_int_cst_value, upper_bound_in_type): Likewise.
* stor-layout.c (initialize_sizetypes, fixup_signed_type)
(fixup_unsigned_type): Likewise.
* real.c (real_to_integer2, real_from_integer): Likewise.
* dwarf2out.c (size_of_loc_descr, size_of_die, output_die)
(clz_loc_descriptor, mem_loc_descriptor): Likewise.

From-SVN: r188139

12 years agore PR c++/52973 (visibility attribute for class is not passed to its members)
Jason Merrill [Sat, 2 Jun 2012 04:03:51 +0000 (00:03 -0400)]
re PR c++/52973 (visibility attribute for class is not passed to its members)

PR c++/52973
* parser.c (cp_parser_class_head): Apply attributes here.
* semantics.c (begin_class_definition): Not here.
* cp-tree.h: Adjust.

From-SVN: r188137

12 years agoDaily bump.
GCC Administrator [Sat, 2 Jun 2012 00:18:07 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188133

12 years agore PR c++/52725 (error: "capture of non-variable" for new-expression incorrectly...
Jason Merrill [Fri, 1 Jun 2012 21:19:22 +0000 (17:19 -0400)]
re PR c++/52725 (error: "capture of non-variable" for new-expression incorrectly parsed as lambda-expression)

PR c++/52725
* parser.c (cp_parser_binary_expression): Bail early if we're parsing
tentatively and the LHS has a parse error.

From-SVN: r188127

12 years agore PR tree-optimization/53501 (scev introduces signed overflow)
Eric Botcazou [Fri, 1 Jun 2012 17:01:17 +0000 (17:01 +0000)]
re PR tree-optimization/53501 (scev introduces signed overflow)

PR middle-end/53501
* fold-const.c (fold_binary_loc): Refine previous change.
testsuite/
* c-c++-common/restrict-2.c: Revert previous change.

From-SVN: r188118

12 years agore PR c++/53137 (g++ segfault)
Jason Merrill [Fri, 1 Jun 2012 16:55:17 +0000 (12:55 -0400)]
re PR c++/53137 (g++ segfault)

PR c++/53137
* pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
(instantiate_decl): Don't push_to_top_level for local class methods.
(instantiate_class_template_1): Or for local classes.

From-SVN: r188117

12 years agore PR c++/53484 ([c++11] Wrong auto in lambdas in function templates)
Jason Merrill [Fri, 1 Jun 2012 16:55:08 +0000 (12:55 -0400)]
re PR c++/53484 ([c++11] Wrong auto in lambdas in function templates)

PR c++/53484
* pt.c (do_auto_deduction): Don't try to deduce from a
type-dependent initializer.

From-SVN: r188116

12 years agovxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore the "do {" part of the do-while...
Olivier Hainque [Fri, 1 Jun 2012 16:41:25 +0000 (16:41 +0000)]
vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore the "do {" part of the do-while(0) loop.

        * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore the
        "do {" part of the do-while(0) loop.

From-SVN: r188114

12 years agore PR c++/26155 (ICE after error with namespace alias)
Paolo Carlini [Fri, 1 Jun 2012 16:11:38 +0000 (16:11 +0000)]
re PR c++/26155 (ICE after error with namespace alias)

/cp
2012-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/26155
* name-lookup.c (push_namespace): When error recovery is
impossible just error out in duplicate_decls.

/testsuite
2012-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/26155
* g++.dg/parse/namespace-alias-1.C: New.

From-SVN: r188113

12 years agotree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
Aldy Hernandez [Fri, 1 Jun 2012 15:44:10 +0000 (15:44 +0000)]
tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.

        * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
        * gimple.h (block_in_transaction): Check for flag_tm.

From-SVN: r188112

12 years agoi386.c (x86_sched_reorder): New function.
Yuri Rumyantsev [Fri, 1 Jun 2012 11:56:00 +0000 (11:56 +0000)]
i386.c (x86_sched_reorder): New function.

       * config/i386/i386.c (x86_sched_reorder): New function.
       Added new function x86_sched_reorder.

From-SVN: r188107

12 years agotree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop): Handle PHIs.
Richard Guenther [Fri, 1 Jun 2012 11:38:10 +0000 (11:38 +0000)]
tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop): Handle PHIs.

2012-06-01  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
Handle PHIs.
(classify_partition): Likewise.

From-SVN: r188106

12 years agotree-loop-distribution.c (enum partition_kind): New enum.
Richard Guenther [Fri, 1 Jun 2012 08:55:04 +0000 (08:55 +0000)]
tree-loop-distribution.c (enum partition_kind): New enum.

2012-06-01  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (enum partition_kind): New enum.
(struct partition_s): Add kind and main_stmt members.
(partition_alloc): Initialize kind to PKIND_NORMAL.
(partition_builtin_p): New function.
(copy_loop_before): Remove failure path and assert instead.
(generate_loops_for_partition): Likewise.
(generate_memset_zero): Fold into ...
(generate_memset_builtin): ... this.
(classify_partition): New function with code from
can_generate_builtin and generate_builtin.
(generate_builtin): Remove.
(can_generate_builtin): Likewise.
(fuse_partitions_with_similar_memory_accesses): Call
partition_builtin_p instead of can_generate_builtin.
(rdg_build_partitions): Do not call
fuse_partitions_with_similar_memory_accesses here...
(ldist_gen): ... but here after classifying all partitions.
Remove failure path of generate_code_for_partition.
(generate_code_for_partition): Generate code according
to partition classification.

From-SVN: r188104

12 years agore PR c++/50134 (-Wmissing-prototypes doesn't work for C++)
Manuel López-Ibáñez [Fri, 1 Jun 2012 08:47:06 +0000 (08:47 +0000)]
re PR c++/50134 (-Wmissing-prototypes doesn't work for C++)

2012-06-01  Manuel López-Ibáñez  <manu@gcc.gnu.org>
            Jonathan Wakely  <jwakely.gcc@gmail.com>

PR c++/50134
* doc/invoke.texi (Warning Options): Explain purpose and differences
between -Wmissing-prototypes and -Wmissing-declarations.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r188103

12 years agoAllow --specs options.
Christian Bruel [Fri, 1 Jun 2012 07:55:39 +0000 (09:55 +0200)]
Allow --specs options.

2012-05-30  Christian Bruel  <christian.bruel@st.com>

* gcc.c (save_switch): Add user_p parameter.
(read_specs): Likewise.
(set_specs): Likewise.
(validate_switches): Likewise.
(validate_switches_from_spec): Likewise.
(validate_all_switches): Pass on user_p parameter.
(struct spec_list): Add user_p field.
(struct switchstr): Add known field.
(save_switch): Add known parameter.
(INIT_STATIC_SPEC): Initialize user_p;
(driver_unknown_option_callbac): call save_switch if
OPT_SPECIAL_unknown.
(driver_handle_option): Propagate OPT_specs.
(do_spec_1): Set validated only if known.
(check_live_switch): Likewise.
(validate_switches): Set validated if known or user_spec.

From-SVN: r188102

12 years agore PR ada/53517 (gnat.dg/lto14.adb FAILs)
Eric Botcazou [Fri, 1 Jun 2012 07:33:38 +0000 (07:33 +0000)]
re PR ada/53517 (gnat.dg/lto14.adb FAILs)

PR ada/53517
* gnat.dg/lto14.adb: Skip on Solaris.

From-SVN: r188100

12 years agochmod.c (chmod_func): On MinGW, don't set is_dir
Tobias Burnus [Fri, 1 Jun 2012 05:53:31 +0000 (07:53 +0200)]
chmod.c (chmod_func): On MinGW, don't set is_dir

2012-06-01  Tobias Burnus  <burnus@net-b.de>

        * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir
        * and
        fix octal-mode handling.
        * io/unit.c (get_internal_unit): Add cast.
        * io/unix.c (min): Undef "min" before defining it.
        * runtime/backtrace.c (show_backtrace): Move label into
        ifndef __MINGW__ block.

From-SVN: r188098

12 years agosync-1-v10.c, [...]: New tests.
Hans-Peter Nilsson [Fri, 1 Jun 2012 05:51:07 +0000 (05:51 +0000)]
sync-1-v10.c, [...]: New tests.

* gcc.target/cris/sync-1-v10.c,
gcc.target/cris/sync-1-v32.c, gcc.target/cris/sync-1.c,
gcc.target/cris/sync-2c.c, gcc.target/cris/sync-2i.c,
gcc.target/cris/sync-2s.c, gcc.target/cris/sync-3i.c,
gcc.target/cris/sync-3s.c, gcc.target/cris/sync-4c.c,
gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
gcc.target/cris/torture/sync-mis-op-i-1.c,
gcc.target/cris/torture/sync-mis-op-i-1a.c,
gcc.target/cris/torture/sync-mis-op-i-2.c,
gcc.target/cris/torture/sync-mis-op-i-2a.c,
gcc.target/cris/torture/sync-mis-op-i-3.c,
gcc.target/cris/torture/sync-mis-op-i-3a.c,
gcc.target/cris/torture/sync-mis-op-s-1.c,
gcc.target/cris/torture/sync-mis-op-s-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-1.c,
gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-2.c,
gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
gcc.target/cris/torture/sync-mis-xchg-i-3.c,
gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
gcc.target/cris/torture/sync-mis-xchg-s-1.c,
gcc.target/cris/torture/sync-mis-xchg-s-1a.c: New tests.

From-SVN: r188097

12 years agoAdd CRIS atomic patterns for 1, 2, and 4 bytes.
Hans-Peter Nilsson [Fri, 1 Jun 2012 05:49:16 +0000 (05:49 +0000)]
Add CRIS atomic patterns for 1, 2, and 4 bytes.

* config/cris/cris.c (cris_emit_trap_for_misalignment): New function.
* config/cris/cris-protos.h: Declare it.
* config/cris/cris.h [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]
(TARGET_DEFAULT): Add alignment by 32.
[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 10] (TARGET_DEFAULT): New
case, as TARGET_CPU_DEFAULT == 0 but with alignment as for
TARGET_CPU_DEFAULT == 32.
(TARGET_TRAP_UNALIGNED_ATOMIC): New macro.
* config/cris/cris.md: Include sync.md.  Avoid allocating specific
numbers by replacing the define_constants for all UNSPECs with the
equivalent define_c_enum construct.
* config/cris/cris.opt (mtrap-unaligned-atomic): New option.
* config/cris/sync.md: New file.

From-SVN: r188096

12 years ago* doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
Jonathan Wakely [Fri, 1 Jun 2012 00:47:32 +0000 (00:47 +0000)]
* doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.

From-SVN: r188095

12 years agoDaily bump.
GCC Administrator [Fri, 1 Jun 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188094

12 years agoSparc longlong.h enhancements.
David S. Miller [Fri, 1 Jun 2012 00:12:22 +0000 (00:12 +0000)]
Sparc longlong.h enhancements.

libgcc/

* longlong.h [SPARC] (umul_ppmm, udiv_qrnnd): Use hardware integer multiply
and divide instructions on 32-bit when V9.
(add_ssaaaa, sub_ddmmss): Convert to branchless code on 64-bit.

From-SVN: r188090

12 years agore PR libstdc++/53543 ([unordered_map] conflict with __is_convertible clang intrinsic)
Benjamin Kosnik [Thu, 31 May 2012 23:02:18 +0000 (23:02 +0000)]
re PR libstdc++/53543 ([unordered_map] conflict with __is_convertible clang intrinsic)

2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/53543
* include/bits/hashtable_policy.h (_Insert::__is_convertible):
Rename to __is_conv to avoid clash with clang built-in.

From-SVN: r188088

12 years ago4600.md (r4600_imul_si): Rename from r4600_imul.
Matt Turner [Thu, 31 May 2012 21:32:01 +0000 (21:32 +0000)]
4600.md (r4600_imul_si): Rename from r4600_imul.

gcc/
2012-02-24  Matt Turner  <mattst88@gmail.com>

* config/mips/4600.md (r4600_imul_si): Rename from r4600_imul.
(r4600_imul_di): New.
(r4600_idiv_si): Rename from r4600_idiv.
(r4600_idiv_di): New.

From-SVN: r188083

12 years agooutput.h (__gcc_host_wide_int__): Move to hwint.h.
Steven Bosscher [Thu, 31 May 2012 20:19:00 +0000 (20:19 +0000)]
output.h (__gcc_host_wide_int__): Move to hwint.h.

* output.h (__gcc_host_wide_int__): Move to hwint.h.
(decl_default_tls_model): Move to tree.h
(dump_file): Move to system.h.
(default_stabs_asm_out_destructor, default_stabs_asm_out_constructor,
dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline,
dbxout_begin_empty_stabs, dbxout_begin_simple_stabs,
dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero,
dbxout_stab_value_zero, dbxout_stab_value_label_diff,
dbxout_stab_value_internal_label,
dbxout_stab_value_internal_label_diff): Move from here ...
* dbxout.h: ... to here.
* system.h (dump_file): Moved here from output.h.
* hwint.h (__gcc_host_wide_int__): Moved here from output.h.
* tree.h (decl_default_tls_model): Moved here from output.h.
* varasm.c (default_stabs_asm_out_destructor,
default_stabs_asm_out_constructor): Move from here ...
* dbxout.c: ... to here.

* gcov-dump.c (dump_file): Rename to dump_gcov_file.  Update callers.

* collect2.h (dump_file): Rename to dump_ld_file.
* collect2.c: Likewise.
* tlink.c: Likewise.

* alias.c: Do not include output.h.
* auto-inc-dec.c: Likewise.
* bt-load.c: Likewise.
* caller-save.c: Likewise.
* cfg.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfglayout.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphclones.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* dojump.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* graph.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-utils.c: Likewise.
* ira-build.c: Likewise.
* ira-emit.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* loop-unswitch.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-section-in.c: Likewise.
* lto-streamer-in.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* regmove.c: Likewise.
* regstat.c: Likewise.
* reload1.c: Likewise.
* sched-ebb.c: Likewise.
* sel-sched-dump.c: Likewise.
* simplify-rtx.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* tracer.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-dfa.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-optimize.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* web.c: Likewise.

* config/m32r/m32r.c: Include dbxout.h.
* config/pa/pa.c: Likewise.
* config/rs6000/rs6000.c: Likewise.

* Makefile.in: Fix dependencies.
* config/rs6000/t-rs5000: Likewise.

c-family/
* c-ada-spec.c: Do not include output.h.
* c-semantics.c: Likewise.

cp/
* call.c: Do not include output.h.
* class.c: Likewise.
* except.c: Likewise.
* friend.c: Likewise.
* init.c: Likewise.
* lex.c: Likewise.
* method.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.

objc/
* objc-act.c: Do not include output.h.

fortran/
* trans-common.c: Do not include output.h.
* trans-decl.c: Likewise.

java/
* resource.c: Do not include output.h.

From-SVN: r188082

12 years agore PR tree-optimization/52558 (write introduction incorrect wrt the C++11 memory...
Aldy Hernandez [Thu, 31 May 2012 19:46:43 +0000 (19:46 +0000)]
re PR tree-optimization/52558 (write introduction incorrect wrt the C++11 memory model)

        PR tree-optimization/52558
        * cfg.c (alloc_aux_for_edge): Fix comment.
        (alloc_aux_for_edge): Remove static.
        * basic-block.h (alloc_aux_for_edge): Protoize.
        * tree-ssa-loop-im.c (execute_sm_if_changed): New.
        (execute_sm_if_changed_flag): New.
        (execute_sm_if_changed_flag_set): New.
        (execute_sm): Do not generate data races unless requested.
        (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
        (tree_ssa_lim_finalize): Call free_aux_for_edges.
        * gimple.h (block_in_transaction): New.
        (gimple_in_transaction): Use block_in_transaction.

From-SVN: r188081

12 years agore PR target/51007 (Quadmath I/O doesn't work on MinGW)
Benjamin Kosnik [Thu, 31 May 2012 18:51:27 +0000 (18:51 +0000)]
re PR target/51007 (Quadmath I/O doesn't work on MinGW)

2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/51007
        * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
        * configure: Regenerated.

From-SVN: r188076

12 years agoAdd new skeleton ChangeLog file generator to contrib/
Diego Novillo [Thu, 31 May 2012 18:01:15 +0000 (14:01 -0400)]
Add new skeleton ChangeLog file generator to contrib/

This script analyzes a .diff file and generates a skeleton ChangeLog
entry for it.  It tries fairly hard to find function names, so it's
important to use the -p switch with diff.

I wrote the initial code a while ago.  Cary added a bunch of smarts to
make it understand C++ and guess the function names better than the
original version.

2012-05-31   Diego Novillo  <dnovillo@google.com>
     Cary Coutant  <ccoutant@google.com>

* mklog: New.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r188072

12 years agore PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))
Georg-Johann Lay [Thu, 31 May 2012 17:32:42 +0000 (17:32 +0000)]
re PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))

PR target/51345
* config/avr/avr.opt (-msp8): Document it.
* doc/invoke.texi (AVR Options): Ditto.  And document related
built-in macros.

From-SVN: r188070

12 years agoFix compilation of build/*.o when using C++.
Diego Novillo [Thu, 31 May 2012 17:25:41 +0000 (13:25 -0400)]
Fix compilation of build/*.o when using C++.

Found this while testing the C++ conversion for vec.[ch] on the
cxx-conversion branch.  We do not build the build/*.o files with g++,
so I was getting lots of syntax errors while compiling build/vec.o.

2012-05-31   Diego Novillo  <dnovillo@google.com>

       * configure.ac (CXX_FOR_BUILD): Define and substitute.
       (BUILD_CXXFLAGS): Define and substitute.
       * Makefile.in (BUILD_CXXFLAGS): Define.
       (CXX_FOR_BUILD): Define.
       (COMPILER_FOR_BUILD): Set to CXX_FOR_BUILD if building with C++.
       (LINKER_FOR_BUILD): Likewise.
       (BUILD_COMPILERFLAGS): Set to BUILD_CXXFLAGS if building with C++.
       (BUILD_LINKERFLAGS): Likewise.
       * configure: Regenerate.

From-SVN: r188069

12 years agoMakefile.in: Fix many dependencies.
Steven Bosscher [Thu, 31 May 2012 16:43:31 +0000 (16:43 +0000)]
Makefile.in: Fix many dependencies.

* Makefile.in: Fix many dependencies.
* tree-profile.c: Don't include regs.h.
* tree-vectorizer.c: Don't include cfglayout.h.
* tree-vect-stmts.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-loop.c: Likewise.
* reg-stack.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* toplev.c: Likewise.
* varasm.c: Don't include cfglayout.h, basic-block.h,
and tree-iterator.h.
* tree-cfgcleanup.c: Don't include cfglayout.h.
* passes.c: Don't include cfglayout.h, dwarf2asm.h,
dwarf2out.h, dbxout.h, sdbout.h, and xcoffout.h.
* cgraphclones.c: Don't include plugin.h.

From-SVN: r188068

12 years agogen-avr-mmcu-texi.c: Sort MCUs.
Georg-Johann Lay [Thu, 31 May 2012 15:07:32 +0000 (15:07 +0000)]
gen-avr-mmcu-texi.c: Sort MCUs.

* config/avr/gen-avr-mmcu-texi.c: Sort MCUs.
* doc/avr-mmcu.texi: Regenerate.

From-SVN: r188067

12 years agot-avr: Correct avr-mmcu.texi dependencies.
Georg-Johann Lay [Thu, 31 May 2012 15:01:03 +0000 (15:01 +0000)]
t-avr: Correct avr-mmcu.texi dependencies.

* config/avr/t-avr: Correct avr-mmcu.texi dependencies.
(s-avr-mmcu-texi): Don't sed on gen-avr-mmcu-texi output.
* doc/avr-mmcu.texi (svn:eol-style): Set to native.

From-SVN: r188065

12 years agotree-loop-distribution.c (struct partition_s): New struct, typedef and vector type.
Richard Guenther [Thu, 31 May 2012 14:39:52 +0000 (14:39 +0000)]
tree-loop-distribution.c (struct partition_s): New struct, typedef and vector type.

2012-05-31  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (struct partition_s): New struct,
typedef and vector type.
(partition_alloc, partition_free): New functions.
(generate_loops_for_partition, generate_builtin,
generate_code_for_partition, rdg_flag_uses, rdg_flag_vertex,
rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
build_rdg_partition_for_component, can_generate_builtin,
similar_memory_accesses, fuse_partitions_with_similar_memory_accesses,
rdg_build_partitions, dump_rdg_partitions, debug_rdg_partitions,
number_of_rw_in_partition, partition_contains_all_rw,
ldist_gen): Use partition_t instead of bitmap.

From-SVN: r188064

12 years agore PR fortran/53521 (Memory leak with zero-sized array constructor)
Tobias Burnus [Thu, 31 May 2012 14:28:41 +0000 (16:28 +0200)]
re PR fortran/53521 (Memory leak with zero-sized array constructor)

2012-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53521
        * trans.c (gfc_deallocate_scalar_with_status): Properly
        handle the case size == 0.

From-SVN: r188062

12 years agotree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop): Use FOR_EACH_SSA...
Richard Guenther [Thu, 31 May 2012 13:57:15 +0000 (13:57 +0000)]
tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop): Use FOR_EACH_SSA_DEF_OPERAND.

2012-05-31  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
Use FOR_EACH_SSA_DEF_OPERAND.
(generate_builtin): Adjust.
(stmt_generated_in_another_partition): Remove.
(add_scalar_computations_to_partition): Likewise.
(rdg_build_partitions): Do not call
add_scalar_computations_to_partition.

* gcc.dg/tree-ssa/ldist-pr45948-2.c: New testcase copy of
ldist-pr45948.c with disabled SCCP.

From-SVN: r188061

12 years agotree-dfa.c (get_ref_base_and_extent): Compute the offset using double ints throughout.
Eric Botcazou [Thu, 31 May 2012 13:40:03 +0000 (13:40 +0000)]
tree-dfa.c (get_ref_base_and_extent): Compute the offset using double ints throughout.

* tree-dfa.c (get_ref_base_and_extent): Compute the offset using
double ints throughout.
* tree-sra.c (build_user_friendly_ref_for_offset) <RECORD_TYPE>:
Check that the position of the field is representable as an integer.

From-SVN: r188060

12 years agore PR middle-end/48493 (ice in expand_expr_addr_expr_1 with complex types and mem_ref)
Richard Guenther [Thu, 31 May 2012 11:06:35 +0000 (11:06 +0000)]
re PR middle-end/48493 (ice in expand_expr_addr_expr_1 with complex types and mem_ref)

2012-05-31  Richard Guenther  <rguenther@suse.de>

PR middle-end/48493
* gcc.dg/torture/pr48493.c: New testcase.

From-SVN: r188058

12 years agotree-data-ref.c (dr_analyze_innermost): Properly convert the MEM_REF offset to sizetype.
Richard Guenther [Thu, 31 May 2012 11:05:51 +0000 (11:05 +0000)]
tree-data-ref.c (dr_analyze_innermost): Properly convert the MEM_REF offset to sizetype.

2012-05-31  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (dr_analyze_innermost): Properly convert
the MEM_REF offset to sizetype.

From-SVN: r188057

12 years agotarget-supports.exp (check_effective_target_vect_char_mult): Add arm32 to targets.
Greta Yorsh [Thu, 31 May 2012 09:57:17 +0000 (10:57 +0100)]
target-supports.exp (check_effective_target_vect_char_mult): Add arm32 to targets.

gcc/testsuite

2012-05-31  Greta Yorsh  <Greta.Yorsh@arm.com>

* lib/target-supports.exp (check_effective_target_vect_char_mult): Add
arm32 to targets.
* gcc.dg/vect/slp-perm-8.c (main): Prevent vectorization
of the initialization loop.
        (dg-final): Adjust the expected number of vectorized loops depending
on vect_char_mult target selector.

From-SVN: r188054

12 years agoinvoke.texi (AVR Options): Fix typos.
Georg-Johann Lay [Thu, 31 May 2012 09:35:58 +0000 (09:35 +0000)]
invoke.texi (AVR Options): Fix typos.

* doc/invoke.texi (AVR Options): Fix typos.

From-SVN: r188053

12 years agoasm-v8.S, [...]: New tests.
Hans-Peter Nilsson [Thu, 31 May 2012 09:30:24 +0000 (09:30 +0000)]
asm-v8.S, [...]: New tests.

* gcc.target/cris/asm-v8.S, gcc.target/cris/asm-v10.S,
gcc.target/cris/asm-other.S, gcc.target/cris/inasm-v8.c,
gcc.target/cris/inasm-v10.c, gcc.target/cris/inasm-other.c:
New tests.

From-SVN: r188052

12 years agocris.h (CC1_SPEC): Pass through all -march= and -mcpu= options.
Hans-Peter Nilsson [Thu, 31 May 2012 09:28:28 +0000 (09:28 +0000)]
cris.h (CC1_SPEC): Pass through all -march= and -mcpu= options.

* config/cris/cris.h (CC1_SPEC): Pass through all -march=
and -mcpu= options.
(ASM_SPEC): Ditto, not just -march=v32, but translate non-v10,
non-v32 into --march=v0_v0_v10.

From-SVN: r188051

12 years agorevert: unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
Tobias Burnus [Thu, 31 May 2012 06:10:18 +0000 (08:10 +0200)]
revert: unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

2012-05-31  Tobias Burnus  <burnus@net-b.de>

        Revert:
        2012-05-16  Tobias Burnus  <burnus@net-b.de>

        * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

From-SVN: r188048

12 years agoira-int.h (target_ira_int): Rename x_move_cost to x_ira_register_move_cost...
Richard Sandiford [Thu, 31 May 2012 05:30:31 +0000 (05:30 +0000)]
ira-int.h (target_ira_int): Rename x_move_cost to x_ira_register_move_cost...

gcc/
* ira-int.h (target_ira_int): Rename x_move_cost to
x_ira_register_move_cost, x_may_move_in_cost to
x_ira_may_move_in_cost and x_may_move_out_cost to
x_ira_may_move_out_cost.  Delete the old fields with
those names and also x_ira_max_register_move_cost,
x_ira_max_may_move_in_cost and x_ira_max_may_move_out_cost.
(move_cost, may_move_in_cost, may_move_out_cost)
(ira_max_register_move_cost, ira_max_may_move_in_cost)
(ira_max_may_move_out_cost): Delete.
* ira.c (init_move_cost): Rename to...
(ira_init_register_move_cost): ...this, deleting the old
function with that name.  Apply above variable renamings.
Retain asserts for null fields.
(ira_init_once): Don't initialize register move costs here.
(free_register_move_costs): Apply above variable renamings.
Remove code for deleted fields.

From-SVN: r188047

12 years agoira.c (init_move_cost): Adjust choice of subclasses to match the current ira_init_reg...
Richard Sandiford [Thu, 31 May 2012 05:30:19 +0000 (05:30 +0000)]
ira.c (init_move_cost): Adjust choice of subclasses to match the current ira_init_register_move_cost choice.

gcc/
* ira.c (init_move_cost): Adjust choice of subclasses to match
the current ira_init_register_move_cost choice.  Use
ira_class_subset_p instead of reg_class_subset_p.
(ira_init_register_move_cost): Assert that move_cost,
may_move_in_cost and may_move_out_cost already hold the desired
values for their ira_* equivalents.  For the latter two,
ignore classes that can't store a register of the given mode.

From-SVN: r188046

12 years agoira.c (setup_allocno_and_important_classes): Use ira_class_hard_regs_num to check...
Richard Sandiford [Thu, 31 May 2012 05:30:07 +0000 (05:30 +0000)]
ira.c (setup_allocno_and_important_classes): Use ira_class_hard_regs_num to check whether a class has any allocatable registers.

gcc/
* ira.c (setup_allocno_and_important_classes): Use
ira_class_hard_regs_num to check whether a class has any
allocatable registers.
(ira_init_register_move_cost): Likewise.

From-SVN: r188045

12 years agoira.c (init_move_cost): Adjust local variable names to match file conventions.
Richard Sandiford [Thu, 31 May 2012 05:29:57 +0000 (05:29 +0000)]
ira.c (init_move_cost): Adjust local variable names to match file conventions.

gcc/
* ira.c (init_move_cost): Adjust local variable names to match
file conventions.  Use ira_assert instead of gcc_assert.

From-SVN: r188044

12 years agoregs.h (move_table, [...]): Move these definitions and associated target_globals...
Richard Sandiford [Thu, 31 May 2012 05:29:47 +0000 (05:29 +0000)]
regs.h (move_table, [...]): Move these definitions and associated target_globals fields to...

gcc/
* regs.h (move_table, move_cost, may_move_in_cost, may_move_out_cost):
Move these definitions and associated target_globals fields to...
* ira-int.h: ...here.
* rtl.h (init_move_cost): Delete.
* reginfo.c (last_mode_for_init_move_cost, init_move_cost): Move to...
* ira.c: ...here, making the latter static.

From-SVN: r188043

12 years agoira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary and ira_registe...
Richard Sandiford [Thu, 31 May 2012 05:29:36 +0000 (05:29 +0000)]
ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary and ira_register_move_cost instead...

gcc/
* ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary
and ira_register_move_cost instead of init_move_cost and move_cost.

From-SVN: r188042

12 years agoira.h (target_ira): Delete x_ira_available_class_regs.
Richard Sandiford [Thu, 31 May 2012 05:27:03 +0000 (05:27 +0000)]
ira.h (target_ira): Delete x_ira_available_class_regs.

gcc/
* ira.h (target_ira): Delete x_ira_available_class_regs.
(ira_available_class_regs): Delete.
* ira.c (setup_available_class_regs): Delete.
(setup_alloc_classes): Don't call it.
(setup_pressure_classes): Use ira_class_hard_regs_num instead of
ira_available_class_regs.
* haifa-sched.c (print_curr_reg_pressure, setup_insn_reg_pressure_info)
(model_spill_cost): Likewise.
* ira-build.c (low_pressure_loop_node_p): Likewise.
* ira-color.c (color_pass): Likewise.
* ira-emit.c (change_loop): Likewise.
* ira-lives.c (inc_register_pressure, dec_register_pressure)
(single_reg_class, ira_implicitly_set_insn_hard_regs)
(process_bb_node_lives): Likewise.
* loop-invariant.c (gain_for_invariant): Likewise.

From-SVN: r188041

12 years agoDaily bump.
GCC Administrator [Thu, 31 May 2012 00:17:38 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188039

12 years agocompiler: Don't crash for invalid constant types for && or ||.
Ian Lance Taylor [Wed, 30 May 2012 23:04:47 +0000 (23:04 +0000)]
compiler: Don't crash for invalid constant types for && or ||.

From-SVN: r188033

12 years agore PR target/52999 (ICE, segmentation fault in c_tree_printer)
John David Anglin [Wed, 30 May 2012 22:54:20 +0000 (22:54 +0000)]
re PR target/52999 (ICE, segmentation fault in c_tree_printer)

2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

PR target/52999
* config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
(pa_section_type_flags): New.
(pa_legitimate_constant_p): Revert previous change.

From-SVN: r188031

12 years agore PR c++/53356 (ICE in verify_gimple_stmt, at tree-cfg.c:4258)
Jason Merrill [Wed, 30 May 2012 22:07:23 +0000 (18:07 -0400)]
re PR c++/53356 (ICE in verify_gimple_stmt, at tree-cfg.c:4258)

PR c++/53356
* tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
representing a bitwise copy of a glvalue.

From-SVN: r188029

12 years ago* tree.c (stabilize_expr): Tweak logic.
Jason Merrill [Wed, 30 May 2012 22:07:14 +0000 (18:07 -0400)]
* tree.c (stabilize_expr): Tweak logic.

From-SVN: r188028

12 years ago* ira.c (allocate_initial_values): Make static.
Steven Bosscher [Wed, 30 May 2012 17:43:35 +0000 (17:43 +0000)]
* ira.c (allocate_initial_values): Make static.

From-SVN: r188025

12 years agore PR c/53502 (Bootstrap broken with --disable-build-poststage1-with-cxx)
Tobias Burnus [Wed, 30 May 2012 16:44:42 +0000 (18:44 +0200)]
re PR c/53502 (Bootstrap broken with --disable-build-poststage1-with-cxx)

2012-05-30  Tobias Burnus  <burnus@net-b.de>

        PR c/53502
        * decl.c (match_attr_spec): Remove "typedef".

From-SVN: r188024

12 years agoi386.c (legitimize_tls_address): Generate tls_initial_exec_64_sun only when !TARGET_X32.
Uros Bizjak [Wed, 30 May 2012 14:52:38 +0000 (16:52 +0200)]
i386.c (legitimize_tls_address): Generate tls_initial_exec_64_sun only when !TARGET_X32.

* config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
Generate tls_initial_exec_64_sun only when !TARGET_X32.

From-SVN: r188022