H.J. Lu [Wed, 12 Dec 2012 13:36:47 +0000 (13:36 +0000)]
Remove AM_MAKEFLAGS/MAKEOVERRIDES from libsanitizer
* Makefile.am (AM_MAKEFLAGS): Removed.
(MAKEOVERRIDES): Likewise.
* asan/Makefile.am: Likewise.
* interception/Makefile.am: Likewise.
* sanitizer_common/Makefile.am: Likewise.
* tsan/Makefile.am: Likewise.
* Makefile.in: Regenerated.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
* tsan/Makefile.in: Likewise.
From-SVN: r194447
Steven Bosscher [Wed, 12 Dec 2012 13:21:41 +0000 (13:21 +0000)]
graph.c: Include sbitmap.h and cfgloop.h.
* graph.c: Include sbitmap.h and cfgloop.h.
(draw_cfg_nodes_no_loops): New function to dump basic blocks in
topological order if the function does not have a loop tree.
Handle unreachable blocks also.
(draw_cfg_nodes_for_loop): New function to dump basic blocks in
one loop tree node as a named cluster of nodes.
(draw_cfg_nodes): New function to draw all CFG nodes.
(draw_cfg_edges): New function to draw all CFG edges.
(print_graph_cfg): Simplify using the new functions.
* Makefile.in (graph.o): Fix dependencies.
From-SVN: r194446
Steven Bosscher [Wed, 12 Dec 2012 13:17:27 +0000 (13:17 +0000)]
dumpfile.h (enum tree_dump_index): Remove TDI_vcg.
* dumpfile.h (enum tree_dump_index): Remove TDI_vcg.
* dumpfile.c (dump_files[]): Remove entry for TDI_vcg.
* tree-cfg.c (gimple_cfg2vcg): Remove.
(build_gimple_cfg): Don't call it.
* doc/invoke.texi (-fdump-tree-vcg): Remove documentation.
Correct GraphViz documentation, it does handle multiple functions
in a single dump.
From-SVN: r194445
Zdenek Dvorak [Wed, 12 Dec 2012 13:07:19 +0000 (14:07 +0100)]
re PR middle-end/55481 (-O2 generates a wrong-code infinite loop in C++Benchmark's simple_types_constant_folding int8 xor test)
2012-12-12 Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/55481
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
back to general rewriting if we cannot leave an original biv
definition alone.
* gcc.dg/torture/pr55481.c: New testcase.
From-SVN: r194444
John David Anglin [Wed, 12 Dec 2012 13:06:53 +0000 (13:06 +0000)]
mmapio.c: Define MAP_FAILED if not defined.
* mmapio.c: Define MAP_FAILED if not defined.
From-SVN: r194443
Jakub Jelinek [Wed, 12 Dec 2012 09:56:22 +0000 (10:56 +0100)]
re PR target/55659 ([SH] Build failure with ICE in dwarf2out_var_location, at dwarf2out.c:20748)
PR target/55659
Revert
2012-12-11 Jakub Jelinek <jakub@redhat.com>
PR middle-end/43631
* var-tracking.c (emit_note_insn_var_location): If insn is followed
by BARRIER, put note after the BARRIER.
(next_non_note_insn_var_location): Skip over BARRIERs.
(emit_notes_in_bb): If call is followed by BARRIER, put note after
the BARRIER.
2012-12-06 Jakub Jelinek <jakub@redhat.com>
PR middle-end/43631
* var-tracking.c (emit_note_insn_var_location, emit_notes_in_bb):
Clear BLOCK_FOR_INSN on notes emitted in between basic blocks,
don't adjust BB_END when inserting note after BB_END of some bb.
From-SVN: r194442
Steven Bosscher [Wed, 12 Dec 2012 09:43:33 +0000 (09:43 +0000)]
re PR middle-end/52640 (performance bottleneck: gcc/tree.c;value_member)
PR middle-end/52640
* varasm.c (pending_assemble_externals_set): New pointer set.
(process_pending_assemble_externals): Destroy the pointer set.
(assemble_external): See if decl is in pending_assemble_externals_set,
and add it to pending_assemble_externals if necessary.
(init_varasm_once): Allocate pending_assemble_externals_set.
* gcc.c-torture/compile/limits-externdecl.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r194441
Jakub Jelinek [Wed, 12 Dec 2012 09:40:48 +0000 (10:40 +0100)]
fast-math-pr38968.f90: Decrease n from 2000 to 400.
* gfortran.dg/vect/fast-math-pr38968.f90: Decrease n
from 2000 to 400.
From-SVN: r194440
Jakub Jelinek [Wed, 12 Dec 2012 09:38:56 +0000 (10:38 +0100)]
re PR libgcc/55451 (FAIL: gcc.dg/fixed-point/unary.c)
PR libgcc/55451
* fixed-bit.c (FIXED_SSADD, FIXED_SSSUB, FIXED_SSNEG): Avoid
undefined signed overflows.
From-SVN: r194439
Jakub Jelinek [Wed, 12 Dec 2012 09:32:52 +0000 (10:32 +0100)]
re PR fortran/55633 (FAIL: gfortran.dg/g77/f90-intrinsic-bit.f -Os execution test)
PR fortran/55633
* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
Ignore bounds on which bound += double_int_one overflowed.
* gcc.dg/torture/pr55633.c: New test.
From-SVN: r194438
Andreas Schwab [Wed, 12 Dec 2012 09:32:40 +0000 (09:32 +0000)]
re PR tree-optimization/55079 (false positive -Warray-bounds (also seen at -O3 bootstrap))
PR tree-optimization/55079
* gcc.dg/tree-ssa/ssa-pre-1.c: Adjust.
From-SVN: r194437
GCC Administrator [Wed, 12 Dec 2012 00:18:58 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194435
Jason Merrill [Tue, 11 Dec 2012 22:46:08 +0000 (17:46 -0500)]
re PR c++/54883 (Name mangling of types in an unnamed namespace)
PR c++/54883
* decl2.c (min_vis_r): Handle anon visibility for enums.
From-SVN: r194430
Jonathan Wakely [Tue, 11 Dec 2012 22:28:01 +0000 (22:28 +0000)]
re PR libstdc++/55631 (Several ext/ headers can not be #included on their own)
PR libstdc++/55631
* include/ext/alloc_traits.h: Include missing header.
* include/ext/pointer.h: Likewise.
* include/ext/string_conversions.h: Require C++11.
* libsupc++/initializer_list: Reindent.
From-SVN: r194429
H.J. Lu [Tue, 11 Dec 2012 21:35:40 +0000 (21:35 +0000)]
Add --with-build-config=bootstrap-asan support
* Makefile.def (target_modules): Add bootstrap=true and
raw_cxx=true to libsanitizer.
* configure.ac (bootstrap_target_libs): Add libsanitizer.
* Makefile.in: Regenerated.
* configure: Likewise.
From-SVN: r194425
H.J. Lu [Tue, 11 Dec 2012 21:32:11 +0000 (13:32 -0800)]
Add libstdc++-raw-cxx.m4 and use it in libsanitizer
config/
PR sanitizer/55533
* libstdc++-raw-cxx.m4: New file.
libsanitizer/
PR sanitizer/55533
* Makefile.am (AM_MAKEFLAGS): Remove CC and CXX.
* configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
* asan/Makefile.am (AM_CXXFLAGS): Add $(LIBSTDCXX_RAW_CXX_CXXFLAGS).
(AM_MAKEFLAGS): Remove CC and CXX.
* interception/Makefile.am: Likewise.
* sanitizer_common/Makefile.am: Likewise.
* tsan/Makefile.am: Likewise.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
* tsan/Makefile.in: Likewise.
From-SVN: r194424
Marc Glisse [Tue, 11 Dec 2012 20:20:23 +0000 (21:20 +0100)]
re PR c++/53094 (constexpr vector subscripting)
2012-12-11 Marc Glisse <marc.glisse@inria.fr>
PR c++/53094
cp/
* tree.c (cp_tree_equal): Handle VECTOR_CST.
* semantics.c (cxx_eval_bare_aggregate): Protect a dereference.
Handle VECTOR_CST.
testsuite/
* g++.dg/cpp0x/constexpr-53094-1.C: New testcase.
* g++.dg/cpp0x/constexpr-53094-2.C: Likewise.
* g++.dg/cpp0x/constexpr-53094-3.C: Likewise.
From-SVN: r194421
Jakub Jelinek [Tue, 11 Dec 2012 19:01:45 +0000 (20:01 +0100)]
re PR c++/55643 ([C++11] incorrect "warning: variable ‘myVar’ set but not used" with an "enum class"-typed variable is casted to double for the use)
PR c++/55643
* expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
* g++.dg/warn/Wunused-var-19.C: New test.
From-SVN: r194415
Jakub Jelinek [Tue, 11 Dec 2012 18:51:55 +0000 (19:51 +0100)]
* g++.dg/asan/asan_test.C: Link -lasan before -lpthread.
From-SVN: r194414
Jakub Jelinek [Tue, 11 Dec 2012 18:45:45 +0000 (19:45 +0100)]
re PR bootstrap/54926 (Bootstrap comparison failure for various files in libbacktrace)
PR bootstrap/54926
* Makefile.am (AM_CFLAGS): Remove -frandom-seed=$@.
* configure.ac: If --with-target-subdir, add -frandom-seed=$@
to EXTRA_FLAGS unconditionally, otherwise check whether the compiler
accepts it.
* Makefile.in: Regenerated.
* configure: Regenerated.
From-SVN: r194412
Eric Botcazou [Tue, 11 Dec 2012 18:42:31 +0000 (18:42 +0000)]
re PR target/54121 (ICE at extract_insn, at recog.c:2123 with -fprofile-generate)
PR target/54121
* config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
(tldo_stb_sp64): Likewise.
(tldo_sth_sp32): Likewise.
(tldo_sth_sp64): Likewise.
(tldo_stw_sp32): Likewise.
(tldo_stw_sp64): Likewise.
(tldo_stx_sp64): Likewise.
From-SVN: r194410
Jason Merrill [Tue, 11 Dec 2012 18:16:50 +0000 (13:16 -0500)]
re PR c++/54416 (ICE (segv) in codegen)
PR c++/54416
* pt.c (maybe_process_partial_specialization): Don't accept
definition of a specialization without the appropriate header.
From-SVN: r194408
Jason Merrill [Tue, 11 Dec 2012 18:16:39 +0000 (13:16 -0500)]
* pt.c (maybe_process_partial_specialization): Handle aliases first.
From-SVN: r194407
Jakub Jelinek [Tue, 11 Dec 2012 18:01:09 +0000 (19:01 +0100)]
re PR rtl-optimization/55193 (ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659)
PR rtl-optimization/55193
* lra-constraints.c (loc_equivalence_callback): New function.
(lra_constraints): Call simplify_replace_fn_rtx instead of
loc_equivalence_change_p on DEBUG_INSNs.
From-SVN: r194405
Jakub Jelinek [Tue, 11 Dec 2012 16:51:16 +0000 (17:51 +0100)]
re PR c++/55619 (Chromium build fails with: error: memory input is not directly addressable)
PR c++/55619
* semantics.c (finish_asm_stmt): Don't call decay_conversion
on input operands that can be only in memory.
* g++.dg/ext/asm12.C: New test.
From-SVN: r194404
Jakub Jelinek [Tue, 11 Dec 2012 14:34:57 +0000 (15:34 +0100)]
re PR tree-optimization/54570 (FAIL: gcc.dg/builtin-object-size-8.c execution test)
PR tree-optimization/54570
* gcc.dg/builtin-object-size-8.c: Xfail.
* gcc.dg/builtin-object-size-13.c: New test.
From-SVN: r194401
Kyrylo Tkachov [Tue, 11 Dec 2012 14:17:28 +0000 (14:17 +0000)]
re PR target/55642 (Invalid thumb code generated ("thumb conditional instruction should be in IT block"))
gcc/ChangeLog
2012-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/55642
* config/arm/thumb2.md (*thumb2_abssi2):
Set ce_count attribute to 2.
(*thumb2_neg_abssi2): Likewise.
gcc/testsuite/ChangeLog
2012-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/55642
* gcc.target/arm/pr55642.c: New testcase.
From-SVN: r194398
Jakub Jelinek [Tue, 11 Dec 2012 12:06:07 +0000 (13:06 +0100)]
varasm.c (get_variable_section): Don't return lcomm_section for asan_protect_global decls.
* varasm.c (get_variable_section): Don't return lcomm_section
for asan_protect_global decls.
* asan.c (asan_protect_global): Only avoid public common variables.
Don't call get_variable_section here.
From-SVN: r194393
Jakub Jelinek [Tue, 11 Dec 2012 10:41:44 +0000 (11:41 +0100)]
re PR middle-end/43631 (var-tracking inserts notes with non-NULL BLOCK_FOR_INSN in between basic blocks)
PR middle-end/43631
PR bootstrap/55615
* var-tracking.c (emit_note_insn_var_location): If insn is followed
by BARRIER, put note after the BARRIER.
(next_non_note_insn_var_location): Skip over BARRIERs.
(emit_notes_in_bb): If call is followed by BARRIER, put note after
the BARRIER.
* g++.dg/other/pr43631.C: New test.
From-SVN: r194392
Jakub Jelinek [Tue, 11 Dec 2012 10:28:35 +0000 (11:28 +0100)]
sanitizer.def: Add comment about importance of ordering of BUILT_IN_ASAN_REPORT* builtins.
* sanitizer.def: Add comment about importance of ordering of
BUILT_IN_ASAN_REPORT* builtins.
* cfgcleanup.c (old_insns_match_p): Don't cross-jump __asan_report_*
builtins.
From-SVN: r194391
Jakub Jelinek [Tue, 11 Dec 2012 10:26:56 +0000 (11:26 +0100)]
sanitizer.def (BUILT_IN_ASAN_HANDLE_NO_RETURN): New builtin.
* sanitizer.def (BUILT_IN_ASAN_HANDLE_NO_RETURN): New builtin.
* asan.c (instrument_builtin_call): Change is_gimple_builtin_call
gcc_assert to gcc_checking_assert.
(maybe_instrument_call): Imit __builtin___asan_handle_no_return ()
before noreturn calls other than __builtin_trap () and
__builtin_unreachable ().
* c-c++-common/asan/clone-test-1.c: Remove bogus dg-shouldfail.
From-SVN: r194390
Richard Biener [Tue, 11 Dec 2012 10:19:21 +0000 (10:19 +0000)]
re PR other/54324 (GCC install document does not list minimum required g++ version)
2012-12-11 Richard Biener <rguenther@suse.de>
PR other/54324
* doc/install.texi (Tools/packages necessary for building GCC):
State ISO C++98 host compiler requirement. Increment minimum
GCC version required for building all languages for a cross-compiler
to 3.4 or later.
From-SVN: r194389
Richard Biener [Tue, 11 Dec 2012 10:06:15 +0000 (10:06 +0000)]
re PR tree-optimization/55079 (false positive -Warray-bounds (also seen at -O3 bootstrap))
2012-12-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/55079
* tree-vrp.c (extract_range_from_binary_expr_1): Handle MAX/MIN_EXPR
for more cases.
(register_edge_assert_for_2): Register asserts for post-in/decrement
tests.
(check_array_ref): Dump what expression we emit array bound
warnings for.
(search_for_addr_array): Likewise.
* gcc.dg/Warray-bounds-9.c: New testcase.
* gcc.dg/Warray-bounds-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-1.c: Adjust.
From-SVN: r194388
Eric Botcazou [Tue, 11 Dec 2012 09:16:59 +0000 (09:16 +0000)]
tree-ssa-loop-ivopts.c (prepare_decl_rtl): Generate RTL only for a DECL which HAS_RTL_P.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl) <ADDR_EXPR>: Generate RTL
only for a DECL which HAS_RTL_P.
From-SVN: r194387
Uros Bizjak [Tue, 11 Dec 2012 09:06:10 +0000 (10:06 +0100)]
* ChangeLog: Fix whitespace.
From-SVN: r194386
Andreas Krebbel [Tue, 11 Dec 2012 08:37:00 +0000 (08:37 +0000)]
predicates.md ("execute_operation"): New predicate.
2012-12-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/predicates.md ("execute_operation"): New predicate.
* config/s390/s390.md ("*execute_rl", "*execute"): Use the new
predicate.
From-SVN: r194385
Eric Botcazou [Tue, 11 Dec 2012 08:03:13 +0000 (08:03 +0000)]
* gcc-interface/Make-lang.in (RTS_DIR): Define only if Ada is enabled.
From-SVN: r194384
Benjamin Kosnik [Tue, 11 Dec 2012 01:52:14 +0000 (01:52 +0000)]
Makefile.am (xml_sources_manual): Add policy_data_structures_biblio.xml.
2012-12-10 Benjamin Kosnik <bkoz@redhat.com>
* doc/Makefile.am (xml_sources_manual): Add
policy_data_structures_biblio.xml.
(${docbook_outdir}/latex): Add.
(doc-xml-validate-docbook): Split into..
(doc-xml-validate-dtd-db):... this for DTD.
(doc-xml-validate-rng-db):... this for Relax NG.
(doc-pdf-docbook-dirs): Add.
(doc-pdf-docbook-pre): Add.
* doc/xml/manual/build_hacking.xml: Add literal markup.
* doc/xml/manual/documentation_hacking.xml: Clean whitespace in
<filename> markup. Add notes about debugging the generation process.
* doc/xml/manual/policy_data_structures.xml: Split biblio into...
* doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
* doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
markup.
From-SVN: r194379
GCC Administrator [Tue, 11 Dec 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194378
Janus Weil [Mon, 10 Dec 2012 23:17:43 +0000 (00:17 +0100)]
re PR fortran/52909 ([F03] Procedure pointers not private to modules)
2012-12-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/52909
* trans-decl.c (get_proc_pointer_decl): Apply name mangling.
2012-12-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/52909
* gfortran.dg/proc_ptr_39.f90: New test case.
From-SVN: r194375
Xinliang David Li [Mon, 10 Dec 2012 22:28:28 +0000 (22:28 +0000)]
Enable push/pop for latest x86 CPUs
From-SVN: r194374
Steve Ellcey [Mon, 10 Dec 2012 22:27:49 +0000 (22:27 +0000)]
gnu-user.h (NO_SHARED_SPECS): Add space before option.
2012-12-10 Steve Ellcey <sellcey@mips.com>
* config/mips/gnu-user.h (NO_SHARED_SPECS): Add space before option.
From-SVN: r194373
Steve Ellcey [Mon, 10 Dec 2012 22:19:16 +0000 (22:19 +0000)]
re PR target/54061 (gcc.c-torture/compile/mipscop-*.c ICEs with -g)
2012-12-10 Steve Ellcey <sellcey@mips.com>
PR target/54061
rtl.h (IGNORED_DWARF_REGNUM): New.
* dwarf2out.c (reg_loc_descriptor): Check for IGNORED_DWARF_REGNUM.
(mem_loc_descriptor): Ditto.
* config/mips/mips.h (ALL_COP_REG_FIRST): New.
(ALL_COP_REG_LAST): New.
(ALL_COP_REG_NUM): Redefine using above macros.
* config/mips/mips.c (mips_option_override): Set mips_dbx_regno
coprocessor entries to IGNORED_DWARF_REGNUM.
From-SVN: r194372
Richard Sandiford [Mon, 10 Dec 2012 20:22:48 +0000 (20:22 +0000)]
octeon-bbit-2.c: Restructure loops so that no code duplication is required.
gcc/testsuite/
* gcc.target/mips/octeon-bbit-2.c: Restructure loops so that no
code duplication is required. Allow BNE to appear.
From-SVN: r194370
Eric Botcazou [Mon, 10 Dec 2012 20:01:26 +0000 (20:01 +0000)]
Make-lang.in (cp/typeck.o): Add dependency on $(PARAMS_H).
* Make-lang.in (cp/typeck.o): Add dependency on $(PARAMS_H).
(cp/name-lookup.o): Likewise.
From-SVN: r194369
Richard Sandiford [Mon, 10 Dec 2012 19:55:01 +0000 (19:55 +0000)]
ext-2.c: Require -mlong64.
gcc/testsuite/
* gcc.target/mips/ext-2.c: Require -mlong64.
From-SVN: r194368
Sriraman Tallam [Mon, 10 Dec 2012 18:07:36 +0000 (18:07 +0000)]
Fix ChangeLog entry, move entry from toplevel ChangeLog to gcc/ChangeLog.
From-SVN: r194364
Steven Bosscher [Mon, 10 Dec 2012 17:58:45 +0000 (17:58 +0000)]
* decl2.c (cp_write_global_declarations): Return after writing a PCH.
From-SVN: r194363
H.J. Lu [Mon, 10 Dec 2012 14:43:54 +0000 (14:43 +0000)]
Record the global variables if WPA isn't enabled
PR lto/55466
* lto-symtab.c (lto_symtab_merge_decls_1): Don't record the
prevailing variable.
* lto.c (lto_register_var_decl_in_symtab): Don't record static
variables.
(lto_main): Record the global variables if WPA isn't enabled.
From-SVN: r194359
Richard Biener [Mon, 10 Dec 2012 14:00:25 +0000 (14:00 +0000)]
re PR tree-optimization/55107 (GCC in an infinite loop in PRE)
2012-12-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/55107
* tree-ssa-pre.c (struct pre_stats): Remove constified field.
(bitmap_set_replace_value): Add gcc_unreachable.
(do_regular_insertion): Re-write all_same handling. Insert
an assignment instead of a PHI in this case.
(eliminate_bb): Record availability also for SSA names defined
by a constant.
(do_pre): Do not record constified events.
(execute_fre): Likewise.
* gcc.dg/torture/pr55107.c: New testcase.
* gcc.dg/tree-ssa/ssa-pre-5.c: Adjust.
From-SVN: r194358
Andreas Krebbel [Mon, 10 Dec 2012 13:15:05 +0000 (13:15 +0000)]
spu.md: Replace "operands" with "operands != NULL" in insn conditions.
2012-12-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/spu/spu.md: Replace "operands" with "operands != NULL" in
insn conditions.
From-SVN: r194357
Jakub Jelinek [Mon, 10 Dec 2012 12:19:10 +0000 (13:19 +0100)]
asan_test.cc: Sync from upstream.
* g++.dg/asan/asan_test.cc: Sync from upstream.
* g++.dg/asan/asan_test_utils.h: Likewise.
From-SVN: r194356
Jakub Jelinek [Mon, 10 Dec 2012 12:14:36 +0000 (13:14 +0100)]
asan.c (asan_init_shadow_ptr_types): Move earlier in the file.
* asan.c (asan_init_shadow_ptr_types): Move earlier in the file.
Call initialize_sanitizer_builtins at the end.
(asan_pp_string): Use TREE_TYPE (shadow_ptr_types[0])
as character type instead of char_type_node.
(asan_emit_stack_protection): Call asan_init_shadow_ptr_types
if shadow_ptr_types isn't initialized.
(asan_protect_global): Return true for STRING_CSTs except those
created by asan_pp_string.
(count_string_csts, add_string_csts): New functions.
(struct asan_add_string_csts_data): New type.
(asan_finish_file): Clear flag_asan at the beginning, restore at the
end. Traverse constant_pool_htab () to look for protected
STRING_CSTs. Don't call initialize_sanitizer_builtins,
instead call asan_init_shadow_ptr_types if shadow_ptr_types isn't
initialized yet.
(asan_instrument): Don't call initialize_sanitizer_builtins.
* varasm.c (output_constant_def_contents): If STRING_CST should be
asan protected, align it sufficiently and emit padding after it.
(categorize_decl_for_section): If flag_asan, don't put STRING_CSTs
that should be asan protected into mergeable sections. For
-fmerge-all-constants, ignore it for -fmudflap or if decl is
asan protected.
From-SVN: r194355
Kyrylo Tkachov [Mon, 10 Dec 2012 11:09:12 +0000 (11:09 +0000)]
neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm, Vrintz to type.
gcc/ChangeLog
2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm,
Vrintz to type.
(type features): Add Requires_arch type constructor.
(ops): Define Vrintn, Vrinta, Vrintp, Vrintm, Vrintz features.
* config/arm/neon-docgen.ml (intrinsic_groups): Define Vrintn,
Vrinta, Vrintp, Vrintm, Vrintz, Vrintx.
* config/arm/neon-testgen.ml (effective_target): Define check for
Requires_arch 8.
* config/arm/neon-gen.ml
(print_feature_test_start): Handle Requires_arch.
(print_feature_test_end): Likewise.
Add 2012 to Copyright notice.
* doc/arm-neon-intrinsics.texi: Regenerate.
* config/arm/arm_neon.h: Regenerate.
gcc/testsuite/ChangeLog
2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/neon/vrndaf32.c: New test.
* gcc.target/arm/neon/vrndqaf32.c: Likewise.
* gcc.target/arm/neon/vrndf32.c: Likewise.
* gcc.target/arm/neon/vrndqf32.c: Likewise.
* gcc.target/arm/neon/vrndmf32.c: Likewise.
* gcc.target/arm/neon/vrndqmf32.c: Likewise.
* gcc.target/arm/neon/vrndnf32.c: Likewise.
* gcc.target/arm/neon/vrndqnf32.c: Likewise.
* gcc.target/arm/neon/vrndpf32.c: Likewise.
* gcc.target/arm/neon/vrndqpf32.c: Likewise.
From-SVN: r194353
Kai Tietz [Mon, 10 Dec 2012 10:00:19 +0000 (11:00 +0100)]
* stmt.c (expand_sjlj_dispatch_table): Fix off by one.
From-SVN: r194351
Kai Tietz [Mon, 10 Dec 2012 09:57:02 +0000 (10:57 +0100)]
re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32)
PR target/53912
* stmt.c (compute_cases_per_edge): Cast from pointer via intptr_t.
(expand_case): Likewise.
From-SVN: r194350
Kai Tietz [Mon, 10 Dec 2012 09:53:08 +0000 (10:53 +0100)]
re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32)
PR target/53912
* print-tree.c (print_node): Cast from pointer via uintptr_t.
From-SVN: r194348
Matthias Klose [Mon, 10 Dec 2012 09:08:12 +0000 (09:08 +0000)]
Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
2012-12-10 Matthias Klose <doko@ubuntu.com>
* src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
* src/Makefile.in: Regenerate.
From-SVN: r194346
Jakub Jelinek [Mon, 10 Dec 2012 07:44:18 +0000 (08:44 +0100)]
asan.c (instrument_derefs): Handle bitfield COMPONENT_REFs accesses as reads/writes to their...
* asan.c (instrument_derefs): Handle bitfield COMPONENT_REFs
accesses as reads/writes to their DECL_BIT_FIELD_REPRESENTATIVE.
From-SVN: r194344
GCC Administrator [Mon, 10 Dec 2012 00:19:28 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r194342
John David Anglin [Sun, 9 Dec 2012 18:27:21 +0000 (18:27 +0000)]
gcov-12.c: Fix dg order.
* gcc.misc-tests/gcov-12.c: Fix dg order.
From-SVN: r194338
John David Anglin [Sun, 9 Dec 2012 18:24:27 +0000 (18:24 +0000)]
re PR middle-end/54470 (FAIL: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline "hooray4[^\\n]*inline copy in test4")
PR middle-end/54470
* gcc.dg/ipa/iinline-4.c: xfail hooray4 test on 32-bit hppa*-*-*.
From-SVN: r194337
John David Anglin [Sun, 9 Dec 2012 18:21:35 +0000 (18:21 +0000)]
pr47917.c: Change "dg-xfail-if" to "dg-xfail-run-if" for *-*-hpux10*.
* gcc.dg/torture/pr47917.c: Change "dg-xfail-if" to "dg-xfail-run-if"
for *-*-hpux10*.
From-SVN: r194335
Uros Bizjak [Sun, 9 Dec 2012 18:15:59 +0000 (19:15 +0100)]
re PR target/55344 (Cross compiling for alpha-linux fails because <signal.h> doesn't exist)
PR target/55344
* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.
From-SVN: r194334
John David Anglin [Sun, 9 Dec 2012 17:41:09 +0000 (17:41 +0000)]
20030711-1.c: Define MAP_FAILED if not defined.
* gcc.dg/
20030711-1.c: Define MAP_FAILED if not defined.
* gcc.dg/
20050826-1.c: Likewise.
From-SVN: r194333
Tobias Burnus [Sun, 9 Dec 2012 15:29:32 +0000 (16:29 +0100)]
trans-array.c (gfc_deallocate_scalar_with_status): Use NULL_TREE in the call to gfc_deallocate_scalar_with_status.
2012-12-09 Tobias Burnus <burnus@net-b.de>
* trans-array.c (gfc_deallocate_scalar_with_status): Use
NULL_TREE in the call to gfc_deallocate_scalar_with_status.
* trans-decl.c (gfc_trans_deferred_vars): Pass symbol.
* trans-stmt.c (gfc_trans_deallocate): Pass polymorphic
* variable.
From-SVN: r194332
Eric Botcazou [Sun, 9 Dec 2012 14:43:34 +0000 (14:43 +0000)]
vect9.adb: Add -w to dg-options.
* gnat.dg/vect9.adb: Add -w to dg-options.
* gnat.dg/vect10.adb: Likewise.
From-SVN: r194331
Andreas Schwab [Sun, 9 Dec 2012 14:31:27 +0000 (14:31 +0000)]
libstdc++.exp (dg-test): Unset testname_with_flags after running the test.
* testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags
after running the test.
From-SVN: r194330
Thomas Koenig [Sun, 9 Dec 2012 09:15:36 +0000 (09:15 +0000)]
re PR fortran/55593 (Bogus error on passing DO LOOP variable)
2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55593
* frontend-passes.c (doloop_code): Use resolved_sym
instead of n.sym->formal for formal argument list
to get the correct version for all generic subroutines.
2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55593
* gfortran.dg/do_check_8.f90: New test.
From-SVN: r194329
GCC Administrator [Sun, 9 Dec 2012 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194328
Eric Botcazou [Sat, 8 Dec 2012 18:07:14 +0000 (18:07 +0000)]
Fix typo
From-SVN: r194325
Eric Botcazou [Sat, 8 Dec 2012 15:53:39 +0000 (15:53 +0000)]
lto-streamer-out.c (lto_write_tree): Do not reset the DECL_INITIAL of variables in the global contant pool.
* lto-streamer-out.c (lto_write_tree): Do not reset the DECL_INITIAL of
variables in the global contant pool.
From-SVN: r194324
Eric Botcazou [Sat, 8 Dec 2012 12:13:44 +0000 (12:13 +0000)]
trans.c (gnat_to_gnu): Assert that the type of the prefix is ultimately an array.
* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Assert
that the type of the prefix is ultimately an array.
From-SVN: r194323
Steven Bosscher [Sat, 8 Dec 2012 12:12:50 +0000 (12:12 +0000)]
re PR rtl-optimization/55158 (segfault in schedule_region at -O3)
PR rtl-optimization/55158
* sched-rgn.c (bb_state_array, bb_state): Add some explaining
comment, and initialize to NULL explicitly.
(realloc_bb_state_array): New function.
(free_bb_state_array): New function.
(schedule_region): Call realloc_bb_state_array after schedule_block.
(sched_rgn_init): Use realloc_bb_state_array to initialize bb_state.
(sched_rgn_finish): Use free_bb_state_array to free it.
From-SVN: r194322
Eric Botcazou [Sat, 8 Dec 2012 11:57:15 +0000 (11:57 +0000)]
trans.c (Subprogram_Body_to_gnu): Be prepared for a by-ref VAR_DECL in the case of an Out parameter passed by copy.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
by-ref VAR_DECL in the case of an Out parameter passed by copy.
From-SVN: r194321
Eric Botcazou [Sat, 8 Dec 2012 11:44:05 +0000 (11:44 +0000)]
* tree-ssa-loop-im.c (for_each_index) <CONST_DECL>: New case.
From-SVN: r194320
Jason Merrill [Sat, 8 Dec 2012 03:31:37 +0000 (22:31 -0500)]
re PR c++/55127 (Incorrect "dependent scope" error with partial specialization of non-type parameter)
PR c++/55127
* search.c (accessible_in_template_p): New.
* cp-tree.h: Declare it.
* pt.c (instantiation_dependent_scope_ref_p): New.
(value_dependent_expression_p): Use it.
(instantiation_dependent_r): Likewise.
* semantics.c (finish_decltype_type): Handle SCOPE_REF.
From-SVN: r194318
Jason Merrill [Sat, 8 Dec 2012 03:31:25 +0000 (22:31 -0500)]
re PR c++/55419 (ICE in gimplify_init_ctor_preeval, at gimplify.c:3587)
PR c++/55419
* tree.c (build_target_expr): Don't set TREE_CONSTANT.
From-SVN: r194317
Aldy Hernandez [Sat, 8 Dec 2012 01:19:13 +0000 (01:19 +0000)]
re PR c++/55513 (Incorrect snprintf folding when building with -std=c++0x)
PR c++/55513
* semantics.c (cxx_eval_builtin_function_call): Set non_constant_p
after folding.
From-SVN: r194316
GCC Administrator [Sat, 8 Dec 2012 00:20:49 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r194315
Paolo Carlini [Fri, 7 Dec 2012 23:17:14 +0000 (23:17 +0000)]
tree.c (build_aggr_init_expr): Remove tsubst_flags_t parameter.
2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
* tree.c (build_aggr_init_expr): Remove tsubst_flags_t parameter.
(build_cplus_new): Adjust.
* cp-tree.h: Adjust declaration.
* init.c (build_value_init): Adjust.
From-SVN: r194312
Sriraman Tallam [Fri, 7 Dec 2012 22:46:35 +0000 (22:46 +0000)]
toplev.c (process_options): Do not warn when -ffunction-sections and -fprofile are used together.
2012-12-07 Sriraman Tallan <tmsriram@google.com>
* toplev.c (process_options): Do not warn when -ffunction-sections
and -fprofile are used together.
From-SVN: r194311
Steven Bosscher [Fri, 7 Dec 2012 22:29:01 +0000 (22:29 +0000)]
* ree.c (struct ext_cand): Remove GTY markers.
From-SVN: r194310
Mike Stump [Fri, 7 Dec 2012 21:26:20 +0000 (21:26 +0000)]
discr38.adb: Don't use ^M line endings.
2012-12-07 Mike Stump <mikestump@comcast.net>
* gnat.dg/discr38.adb: Don't use ^M line endings.
gnat.dg/loop_optimization13.adb: Likewise.
gnat.dg/loop_optimization13.ads: Likewise.
gnat.dg/discr36_pkg.adb: Likewise.
gnat.dg/discr36_pkg.ads: Likewise.
gnat.dg/loop_optimization11_pkg.ads: Likewise.
gnat.dg/discr36.ads: Likewise.
gnat.dg/loop_optimization11.adb: Likewise.
From-SVN: r194309
Vladimir Makarov [Fri, 7 Dec 2012 21:06:38 +0000 (21:06 +0000)]
re PR rtl-optimization/55141 (wrong code with -fno-split-wide-types)
2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
testsuite/gcc.target/i386/pr55141.c
* lra-constraints.c (lra_constraints): Use biggest mode for
df_set_regs_ever_live.
2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55141
* gcc.target/i386/pr55141.c: New.
From-SVN: r194308
Dodji Seketeli [Fri, 7 Dec 2012 17:05:19 +0000 (17:05 +0000)]
PR c++/54401 - Confusing diagnostics about type-alias at class scope
Consider this invalid example given in the PR, where T is not defined:
1 template<typename>
2 struct X {
3 using type = T;
4 };
g++ yields the confusing diagnostics:
test.cc:3:10: error: expected nested-name-specifier before 'type'
using type = T;
^
test.cc:3:10: error: using-declaration for non-member at class scope
test.cc:3:15: error: expected ';' before '=' token
using type = T;
^
test.cc:3:15: error: expected unqualified-id before '=' token
I think this is because in cp_parser_member_declaration we tentatively
parse an alias declaration; we then have a somewhat meaningful
diagnostic which alas is not emitted because we are parsing
tentatively. As the parsing didn't succeed (because the input is
invalid) we try to parse a using declaration, which fails as well; but
then the diagnostic emitted is the one for the failed attempt at
parsing a using declaration, not an alias declaration. Oops.
The idea of this patch is to commit the tentative parse when we see
the '=' token in the alias-declaration. That way any error encounter
after that token is reported to the user.
We are now getting the following output:
test.cc:3:18: erreur: expected type-specifier before ‘T’
using type = T;
^
test.cc:3:18: erreur: ‘T’ does not name a type
I don't really like the "before 'T'" there, but I think we maybe could
revisit the format of what cp_parser_error emits in general, now that
we have caret diagnostics; We could maybe do away with the "before T"
altogether?
In the mean time, it seems to me that this patch brings an improvement
over what we already have in trunk, and the issue above could be
addressed separately.
Tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
* parser.c (cp_parser_alias_declaration): Commit to tentative
parse when see the '=' token. Get out if the type-id is invalid.
Update function comment.
(cp_parser_member_declaration): Don't try to parse a using
declaration if we know that we expected an alias declaration; that
is, if we see the '=' token after the identifier.
gcc/testsuite/
* g++.dg/cpp0x/alias-decl-28.C: New test.
* g++.dg/cpp0x/alias-decl-16.C: Update.
From-SVN: r194306
Jan Hubicka [Fri, 7 Dec 2012 17:02:20 +0000 (18:02 +0100)]
tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add UPPER_BOUND parameter.
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add UPPER_BOUND
parameter.
(try_unroll_loop_completely) Update.
From-SVN: r194305
Jakub Jelinek [Fri, 7 Dec 2012 16:04:26 +0000 (17:04 +0100)]
re PR fortran/55395 (libgfortran bootstrap failure on powerpc-linux-gnu and arm-linux-gnueabi)
PR fortran/55395
* varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
for -g for any kind of debug info.
From-SVN: r194304
Jakub Jelinek [Fri, 7 Dec 2012 14:14:25 +0000 (15:14 +0100)]
re PR bootstrap/54926 (Bootstrap comparison failure for various files in libbacktrace)
PR bootstrap/54926
* Makefile.am (AM_CFLAGS): Add -frandom-seed=$@.
* Makefile.in: Regenerated.
From-SVN: r194303
Richard Biener [Fri, 7 Dec 2012 13:16:28 +0000 (13:16 +0000)]
re PR tree-optimization/54886 (FAIL: gcc.dg/graphite/pr(42521|42771).c (internal compiler error) due to revision 192219)
2012-12-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/54886
* graphite-sese-to-poly.c (build_loop_iteration_domains): Properly
free all memory.
From-SVN: r194302
Martin Jambor [Fri, 7 Dec 2012 13:05:52 +0000 (14:05 +0100)]
re PR middle-end/55078 (FAIL: g++.dg/torture/pr46154.C)
2012-12-07 Martin Jambor <mjambor@suse.cz>
PR middle-end/55078
* ipa-inline-transform.c (inline_call): Turn #if 0 to #ifdef
ENABLE_CHECKING.
* ipa-prop.c (try_make_edge_direct_simple_call): Use
ipa_value_from_jfunc.
(try_make_edge_direct_virtual_call): Likewise.
(update_indirect_edges_after_inlining): Lookup new_root_info and pass
it to the functions above.
From-SVN: r194301
Martin Jambor [Fri, 7 Dec 2012 12:50:43 +0000 (13:50 +0100)]
re PR tree-optimization/55590 (SRA still produces unnecessarily unaligned memory accesses)
2012-12-07 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55590
* tree-sra.c (build_ref_for_offset): Use get_object_alignment_1 to
get base alignment.
* testsuite/gcc.target/i386/pr55590-1.c: New test.
* testsuite/gcc.target/i386/pr55590-2.c: Likewise.
From-SVN: r194300
Uros Bizjak [Fri, 7 Dec 2012 11:02:37 +0000 (12:02 +0100)]
* config/i386/i386.c (legitimize_tls_address): Reorganize a tiny bit.
From-SVN: r194299
Paolo Carlini [Fri, 7 Dec 2012 09:53:04 +0000 (09:53 +0000)]
re PR c++/54975 (cv-qualifiers of typedef-name are ignored in lambda expression)
2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54975
* g++.dg/cpp0x/lambda/lambda-typedef.C: New.
From-SVN: r194297
Jason Merrill [Fri, 7 Dec 2012 04:54:27 +0000 (23:54 -0500)]
re PR c++/54325 (C++11 uniform initialization syntax for argument-less abstract base class constructor fails)
PR c++/54325
* tree.c (build_aggr_init_expr): Don't check for abstract class.
From-SVN: r194284
Jason Merrill [Fri, 7 Dec 2012 04:54:12 +0000 (23:54 -0500)]
add PR 55245 marker
From-SVN: r194283
Jason Merrill [Fri, 7 Dec 2012 04:53:59 +0000 (23:53 -0500)]
re PR c++/55058 (Unexpected invalid type conversion error)
PR c++/55058
* pt.c (tsubst): Keep the quals when looking through a typedef.
From-SVN: r194282
Jason Merrill [Fri, 7 Dec 2012 04:53:46 +0000 (23:53 -0500)]
re PR c++/55249 (Multiple copy constructors for template class lead to link errors)
PR c++/55249
* tree.c (build_vec_init_elt): Use the type of the initializer.
From-SVN: r194281
GCC Administrator [Fri, 7 Dec 2012 00:18:45 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194278
Uros Bizjak [Thu, 6 Dec 2012 22:05:21 +0000 (23:05 +0100)]
re PR middle-end/55597 (internal compiler error: in plus_constant, at explow.c:88)
PR target/55597
* config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
before using it as insn or call equivalent.
testsuite/ChangeLog:
PR target/55597
* gcc.target/i386/pr55597.c: New test.
From-SVN: r194274