Richard Guenther [Tue, 5 Jun 2012 12:38:26 +0000 (12:38 +0000)]
re PR middle-end/30442 (Expanded array initialization can use memset builtin function)
2012-06-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/30442
* tree-vect-data-refs.c (vect_analyze_data_refs): For basic-block
vectorization stop analysis at the first stmt we cannot compute
a data-reference for instead of giving up completely.
* gcc.dg/vect/bb-slp-30.c: New testcase.
From-SVN: r188235
Richard Guenther [Tue, 5 Jun 2012 11:27:30 +0000 (11:27 +0000)]
tree-loop-distribution.c (struct partition_s): Add has_writes member.
2012-06-05 Richard Guenther <rguenther@suse.de>
* tree-loop-distribution.c (struct partition_s): Add has_writes
member.
(partition_alloc): Initialize it.
(partition_has_writes): New function.
(rdg_flag_uses): Adjust.
(rdg_flag_vertex): Likewise.
(rdg_flag_vertex_and_dependent): Likewise.
(rdg_flag_loop_exits): Likewise.
(build_rdg_partition_for_component): Likewise.
(rdg_build_partitions): Likewise.
From-SVN: r188233
Richard Guenther [Tue, 5 Jun 2012 09:24:43 +0000 (09:24 +0000)]
re PR tree-optimization/53081 (memcpy/memset loop recognition)
2012-06-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53081
* tree-loop-distribution.c (generate_memset_builtin): Handle all
kinds of byte-sized stores.
(classify_partition): Likewise.
(tree_loop_distribution): Adjust seed statements used for
!flag_tree_loop_distribution.
* gcc.dg/tree-ssa/ldist-19.c: New testcase.
* gcc.c-torture/execute/builtins/builtins.exp: Always pass
-fno-tree-loop-distribute-patterns.
From-SVN: r188232
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
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
Mike Stump [Tue, 5 Jun 2012 03:11:59 +0000 (03:11 +0000)]
Fix typo.
From-SVN: r188227
Mike Stump [Tue, 5 Jun 2012 02:46:52 +0000 (02:46 +0000)]
Fix typo.
From-SVN: r188226
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
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
Diego Novillo [Tue, 5 Jun 2012 00:36:08 +0000 (20:36 -0400)]
Add ChangeLog entry for previous commit.
From-SVN: r188218
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
GCC Administrator [Tue, 5 Jun 2012 00:17:21 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r188216
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
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
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
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
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
Robert Mason [Mon, 4 Jun 2012 19:15:21 +0000 (22:15 +0300)]
PR 53456 Fix incorrect ChangeLog entry.
From-SVN: r188202
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
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
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
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
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
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
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
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
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
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
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
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
Jakub Jelinek [Mon, 4 Jun 2012 09:27:33 +0000 (11:27 +0200)]
Update Copyright years.
From-SVN: r188171
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
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
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
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
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
GCC Administrator [Mon, 4 Jun 2012 00:18:14 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188160
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
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
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
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
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
GCC Administrator [Sun, 3 Jun 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r188146
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
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
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
GCC Administrator [Sat, 2 Jun 2012 00:18:07 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188133
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 1 Jun 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188094
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 31 May 2012 00:17:38 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r188039
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
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
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
Jason Merrill [Wed, 30 May 2012 22:07:14 +0000 (18:07 -0400)]
* tree.c (stabilize_expr): Tweak logic.
From-SVN: r188028