platform/upstream/gcc.git
11 years agotree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits and ceil_log2.
Richard Biener [Wed, 20 Feb 2013 09:03:18 +0000 (09:03 +0000)]
tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits and ceil_log2.

2013-02-20  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
and ceil_log2.
(get_use_iv_cost): Terminate hashtable walk when coming across
an empty entry.

From-SVN: r196166

11 years agore PR c++/56373 (-Wzero-as-null-pointer-constant: does not catch issues with smart...
Paolo Carlini [Wed, 20 Feb 2013 09:02:35 +0000 (09:02 +0000)]
re PR c++/56373 (-Wzero-as-null-pointer-constant: does not catch issues with smart pointers)

/cp
2013-02-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56373
* tree.c (maybe_warn_zero_as_null_pointer_constant): Add.
* cvt.c (ocp_convert): Use the latter.
(cp_convert_to_pointer): Likewise.
* decl.c (check_default_argument): Likewise.
* typeck.c (cp_build_binary_op): Likewise.
* cp-tree.h (maybe_warn_zero_as_null_pointer_constant): Declare.

/testsuite
2013-02-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56373
* g++.dg/cpp0x/Wzero-as-null-pointer-constant-2.C: New.

From-SVN: r196165

11 years agoi386.c (initial_ix86_tune_features): Turn on fp reassociation for avx2 targets.
Igor Zamyatin [Wed, 20 Feb 2013 08:55:16 +0000 (08:55 +0000)]
i386.c (initial_ix86_tune_features): Turn on fp reassociation for avx2 targets.

* config/i386/i386.c (initial_ix86_tune_features): Turn on fp
  reassociation for avx2 targets.

From-SVN: r196164

11 years agouser.cfg.in: Set __cplusplus to 201103L.
Benjamin Kosnik [Wed, 20 Feb 2013 01:52:36 +0000 (01:52 +0000)]
user.cfg.in: Set __cplusplus to 201103L.

2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
_GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
* include/bits/stl_pair.h: Add to utilities group.
* include/std/tuple: Same.
* include/std/typeindex: Same.

* include/bits/stringfwd.h: Fix markup.
* include/std/limits: Same.
* include/std/type_traits: Same.
* include/tr1/memory: Same.
* include/tr1/regex: Same.
* scripts/run_doxygen: Comment.
* testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.

From-SVN: r196162

11 years agoDaily bump.
GCC Administrator [Wed, 20 Feb 2013 00:19:27 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r196161

11 years agoAdd support for the CLZ insn
Edgar E. Iglesias [Tue, 19 Feb 2013 23:10:29 +0000 (23:10 +0000)]
Add support for the CLZ insn

Add support for the CLZ insn
* config/microblaze/microblaze.c: microblaze_has_clz = 0
Add version check for v8.10.a to enable microblaze_has_clz
* config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as
combined version and TARGET_PATTERN_COMPARE check
* config/microblaze/microblaze.md: New clzsi2 instruction

From-SVN: r196158

11 years agomicroblaze.md (call_value_intern): Check symbol is function before branching.
Edgar E. Iglesias [Tue, 19 Feb 2013 23:05:40 +0000 (23:05 +0000)]
microblaze.md (call_value_intern): Check symbol is function before branching.

*  config/microblaze/microblaze.md (call_value_intern): Check symbol is
function before branching.

From-SVN: r196157

11 years agomodsi3.S (modsi3): Fix case with 0x80000000 as dividend.
Edgar E. Iglesias [Tue, 19 Feb 2013 23:00:50 +0000 (23:00 +0000)]
modsi3.S (modsi3): Fix case with 0x80000000 as dividend.

* config/microblaze/modsi3.S (modsi3): Fix case with 0x80000000
as dividend.

From-SVN: r196156

11 years agore PR libquadmath/56379 (libquadmath: Wrong result for strtoflt128.c if compiled...
Jakub Jelinek [Tue, 19 Feb 2013 21:50:10 +0000 (22:50 +0100)]
re PR libquadmath/56379 (libquadmath: Wrong result for strtoflt128.c if compiled with -O0)

PR libquadmath/56379
* strtod/strtod_l.c (mpn_lshift_1): Rewritten as function-like
macro.

From-SVN: r196155

11 years agore PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution...
John David Anglin [Tue, 19 Feb 2013 14:01:40 +0000 (14:01 +0000)]
re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90  -O2  execution test)

PR target/56347
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): Remove check for
broken powf.
* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Likewise.
* intrinsics/c99_functions.c: Likewise.
* configure: Rebuilt.
* config.h.in: Rebuilt.

From-SVN: r196139

11 years agosel-sched-dump.c (dump_insn_rtx_flags): Explicitly set DUMP_INSN_RTX_UID.
Andrey Belevantsev [Tue, 19 Feb 2013 13:52:19 +0000 (17:52 +0400)]
sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set DUMP_INSN_RTX_UID.

        * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
        DUMP_INSN_RTX_UID.
        (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.

From-SVN: r196138

11 years agore PR middle-end/55889 (ICE: in move_op_ascend, at sel-sched.c:6153 with -fschedule...
Andrey Belevantsev [Tue, 19 Feb 2013 13:50:50 +0000 (17:50 +0400)]
re PR middle-end/55889 (ICE: in move_op_ascend, at sel-sched.c:6153 with -fschedule-insns -fselective-scheduling)

2012-02-19  Andrey Belevantsev  <abel@ispras.ru>

        PR middle-end/55889

        * sel-sched.c: Include ira.h.
        (implicit_clobber_conflict_p): New function.
        (moveup_expr): Use it.
        * Makefile.in (sel-sched.o): Depend on ira.h.

From-SVN: r196137

11 years agore PR tree-optimization/56384 (ICE in fold_binary_loc, at fold-const.c:10422)
Richard Biener [Tue, 19 Feb 2013 12:10:48 +0000 (12:10 +0000)]
re PR tree-optimization/56384 (ICE in fold_binary_loc, at fold-const.c:10422)

2013-02-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56384
* tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
(vn_hash_type): Split out from ...
(vn_hash_constant_with_type): ... here.
* tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
(vn_phi_eq): Compare types from vn_phi_s structure.
(vn_phi_lookup): Populate vn_phi_s type.
(vn_phi_insert): Likewise.

* gcc.dg/torture/pr56384.c: New testcase.

From-SVN: r196136

11 years agore PR tree-optimization/56350 (ICE in vectorizable_reduction, at tree-vect-loop.c...
Jakub Jelinek [Tue, 19 Feb 2013 09:14:33 +0000 (10:14 +0100)]
re PR tree-optimization/56350 (ICE in vectorizable_reduction, at tree-vect-loop.c:4731)

PR tree-optimization/56350
* tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
if haven't found reduction or nested cycle operand, rather than
asserting we must find it.

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

From-SVN: r196134

11 years agore PR c++/56381 (ICE: cc1plus: internal compiler error: in gimplify_expr, at gimplify...
Jakub Jelinek [Tue, 19 Feb 2013 06:43:34 +0000 (07:43 +0100)]
re PR c++/56381 (ICE: cc1plus: internal compiler error: in gimplify_expr, at gimplify.c:7842)

PR tree-optimization/56381
* tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
to fold_build3.

* g++.dg/opt/pr56381.C: New test.

From-SVN: r196133

11 years agoDaily bump.
GCC Administrator [Tue, 19 Feb 2013 00:19:15 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r196132

11 years agore PR target/52555 (ICE unrecognizable insn with -ffast-math and __attribute__((optim...
Aldy Hernandez [Tue, 19 Feb 2013 00:04:49 +0000 (00:04 +0000)]
re PR target/52555 (ICE unrecognizable insn with -ffast-math and __attribute__((optimize(xx))))

PR target/52555
* genopinit.c (raw_optab_handler): Use this_fn_optabs.
(swap_optab_enable): Same.
(init_all_optabs): Use argument instead of global.
* tree.h (struct tree_optimization_option): New field
target_optabs.
* expr.h (init_all_optabs): Add argument to prototype.
(TREE_OPTIMIZATION_OPTABS): New.
(save_optabs_if_changed): Protoize.
* optabs.h: Declare this_fn_optabs.
* optabs.c (save_optabs_if_changed): New.
Declare this_fn_optabs.
(init_optabs): Add argument to init_all_optabs() call.
* function.c (invoke_set_current_function_hook): Handle per
function optabs.
* function.h (struct function): New field optabs.
* config/mips/mips.c (mips_set_mips16_mode): Handle when
optimization_current_node has changed.
* target-globals.h (save_target_globals_default_opts): Protoize.
* target-globals.c (save_target_globals_default_opts): New.
c-family/
* c-common.c (handle_optimize_attribute): Call
save_optabs_if_changed.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r196129

11 years agore PR pch/54117 (FAIL: ./decl-3.h -O0 -g (internal compiler error))
Jakub Jelinek [Mon, 18 Feb 2013 19:42:56 +0000 (20:42 +0100)]
re PR pch/54117 (FAIL: ./decl-3.h  -O0 -g (internal compiler error))

PR pch/54117
* c-opts.c (c_common_post_options): If debug info is enabled
and non-dwarf*, refuse to load PCH files and when writing PCH
file warn.

* lib/dg-pch.exp (pch-init, pch-finish,
check_effective_target_pch_supported_debug): New procs.
(dg-flags-pch): If $pch_unsupported, make tests UNSUPPORTED.
Likewise if $pch_unsupported_debug and $flags include -g.
Skip FAILs about missing *.gch file if $pch_unsupported_debug
and dg-require-effective-target pch_unsupported_debug.
* g++.dg/pch/pch.exp: Call pch-init and pch-finish.
* objc.dg/pch/pch.exp: Likewise.
* gcc.dg/pch/pch.exp: Likewise.
* gcc.dg/pch/valid-1.c: Add dg-require-effective-target
pch_unsupported_debug.
* gcc.dg/pch/valid-1.hs: Likewise.
* gcc.dg/pch/valid-1b.c: Likewise.
* gcc.dg/pch/valid-1b.hs: Likewise.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r196124

11 years agore PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution...
John David Anglin [Mon, 18 Feb 2013 16:29:49 +0000 (16:29 +0000)]
re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90  -O2  execution test)

PR target/56347
* config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
registers %fr12 and %fr12R as call used.

From-SVN: r196123

11 years agore PR target/56214 (FAIL: gcc.c-torture/execute/20050121-1.c compilation, ICE)
John David Anglin [Mon, 18 Feb 2013 15:21:32 +0000 (15:21 +0000)]
re PR target/56214 (FAIL: gcc.c-torture/execute/20050121-1.c compilation, ICE)

PR target/56214
* config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
and HImode, require all displacements to be an integer multiple of the
mode size.
* config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
only allow QImode and HImode when reload is in progress and strict is
true.  Likewise for symbolic addresses.  Use base14_operand to check
displacements in REG+BASE addresses.

From-SVN: r196122

11 years agore PR tree-optimization/56366 (ICE: verify_gimple failed (incompatible types in PHI...
Richard Biener [Mon, 18 Feb 2013 13:58:21 +0000 (13:58 +0000)]
re PR tree-optimization/56366 (ICE: verify_gimple failed (incompatible types in PHI argument))

2013-02-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56366
* tree-vect-loop.c (get_initial_def_for_induction): Properly
handle sign-conversion of outer-loop initial induction value.

* gcc.dg/torture/pr56366.c: New testcase.

From-SVN: r196121

11 years agore PR middle-end/56349 (ICE in create_preheader at cfgloopmanip.c:1525)
Richard Biener [Mon, 18 Feb 2013 13:09:17 +0000 (13:09 +0000)]
re PR middle-end/56349 (ICE in create_preheader at cfgloopmanip.c:1525)

2013-02-18  Richard Biener  <rguenther@suse.de>

        PR middle-end/56349
        * gcc.dg/torture/pr56350.c: Move ...
        * gcc.dg/torture/pr56349.c: ... here.

From-SVN: r196119

11 years agore PR tree-optimization/56350 (ICE in vectorizable_reduction, at tree-vect-loop.c...
Richard Biener [Mon, 18 Feb 2013 13:03:15 +0000 (13:03 +0000)]
re PR tree-optimization/56350 (ICE in vectorizable_reduction, at tree-vect-loop.c:4731)

2013-02-18  Richard Biener  <rguenther@suse.de>

PR middle-end/56350
* cfghooks.c (merge_blocks): If we merge a latch into another
block adjust references to it.
* cfgloop.c (flow_loops_find): Reset latch before recomputing it.
(verify_loop_structure): Verify that a recorded latch is in fact
a latch.

* gcc.dg/torture/pr56350.c: New testcase.

From-SVN: r196118

11 years agore PR tree-optimization/56321 (ICE:segfault in midend for -funsafe-math-optimizations...
Richard Biener [Mon, 18 Feb 2013 12:11:47 +0000 (12:11 +0000)]
re PR tree-optimization/56321 (ICE:segfault in midend for -funsafe-math-optimizations -O3)

2013-02-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56321
* tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
order SSA name release and virtual operand unlinking.

* gcc.dg/torture/pr56321.c: New testcase.

From-SVN: r196117

11 years agoDaily bump.
GCC Administrator [Mon, 18 Feb 2013 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r196115

11 years agoFree variable local allocs at block ends.
Edgar E. Iglesias [Sun, 17 Feb 2013 16:18:09 +0000 (16:18 +0000)]
Free variable local allocs at block ends.

 * config/microblaze/microblaze.md (save_stack_block): Define.
   (restore_stack_block): Likewise.

From-SVN: r196110

11 years agocacoshq.c (cacoshq): Call signbitq instead of signbit.
Tobias Burnus [Sun, 17 Feb 2013 12:57:51 +0000 (13:57 +0100)]
cacoshq.c (cacoshq): Call signbitq instead of signbit.

2013-02-17  Tobias Burnus  <burnus@net-b.de>

        * math/cacoshq.c (cacoshq): Call signbitq instead of signbit.

From-SVN: r196109

11 years agoDaily bump.
GCC Administrator [Sun, 17 Feb 2013 00:22:57 +0000 (00:22 +0000)]
Daily bump.

From-SVN: r196107

11 years agoAdd TARGET_SUPPORTS_PIC flag and check that the flag_pic = 2
Edgar E. Iglesias [Sat, 16 Feb 2013 19:32:15 +0000 (19:32 +0000)]
Add TARGET_SUPPORTS_PIC flag and check that the flag_pic = 2

 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
 * config/microblaze/microblaze.c (microblaze_option_override):
    Bail out early for PIC modes when target does not support PIC.
 * gcc.dg/20020312-2.c: Define MicroBlaze PIC register

From-SVN: r196104

11 years agomicroblaze.c (microblaze_asm_trampoline_template): Replace with a microblaze version.
Edgar E. Iglesias [Sat, 16 Feb 2013 17:42:30 +0000 (17:42 +0000)]
microblaze.c (microblaze_asm_trampoline_template): Replace with a microblaze version.

* config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
Replace with a microblaze version.
(microblaze_trampoline_init): Adapt for microblaze.
* gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
microblaze.

From-SVN: r196103

11 years ago[asan] Fix for PR asan/56330
Jakub Jelinek [Sat, 16 Feb 2013 09:32:56 +0000 (10:32 +0100)]
[asan] Fix for PR asan/56330

gcc/
* asan.c (get_mem_refs_of_builtin_call): White space and style
cleanup.
(instrument_mem_region_access): Do not forget to always put
instrumentation of the of 'base' and 'base + len' in a "if (len !=
0) statement, even for cases where either 'base' or 'base + len'
are not instrumented -- because they have been previously
instrumented.  Simplify the logic by putting all the statements
instrument 'base + len' inside a sequence, and then insert that
sequence right before the current insertion point.  Then, to
instrument 'base + len', just get an iterator on that statement.
And do not forget to update the pointer to iterator the function
received as argument.

gcc/testsuite/

* c-c++-common/asan/no-redundant-instrumentation-4.c: New test file.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/pr56330.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c (test1):
Ensure the size argument of __builtin_memcpy is a constant.

Co-Authored-By: Dodji Seketeli <dodji@redhat.com>
From-SVN: r196102

11 years agore PR c++/51242 ([C++11] Unable to use strongly typed enums as bit fields)
Jonathan Wakely [Sat, 16 Feb 2013 01:07:11 +0000 (01:07 +0000)]
re PR c++/51242 ([C++11] Unable to use strongly typed enums as bit fields)

/cp
2013-02-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51242
* decl2.c (grokbitfield): Allow scoped enumeration types.

/testsuite
2013-02-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51242
* g++.dg/cpp0x/enum23.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r196100

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

From-SVN: r196098

11 years agore PR middle-end/54685 ([SH] Improve unsigned int comparison with 0x7FFFFFFF)
Oleg Endo [Fri, 15 Feb 2013 21:28:26 +0000 (21:28 +0000)]
re PR middle-end/54685 ([SH] Improve unsigned int comparison with 0x7FFFFFFF)

PR target/54685
* gcc.target/sh/pr54685.c: Fix scanning of not insn.

From-SVN: r196092

11 years agore PR c++/54276 (Lambda in a Template Function Undefined Reference to local static)
Jason Merrill [Fri, 15 Feb 2013 19:22:14 +0000 (14:22 -0500)]
re PR c++/54276 (Lambda in a Template Function Undefined Reference to local static)

PR c++/54276
* semantics.c (finish_id_expression): Also return the identifier
for an outer local static.

From-SVN: r196091

11 years agore PR rtl-optimization/56348 (internal compiler error in assign_by_spills with -m32...
Vladimir Makarov [Fri, 15 Feb 2013 19:17:02 +0000 (19:17 +0000)]
re PR rtl-optimization/56348 (internal compiler error in assign_by_spills with -m32 -fPIC -msse2)

2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/56348
* lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.

2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/56348
* gcc.target/i386/pr56348.c: New test.

From-SVN: r196090

11 years agoruntime: Do not reserve huge amount of swap on 32 bit architectures.
Ian Lance Taylor [Fri, 15 Feb 2013 18:55:09 +0000 (18:55 +0000)]
runtime: Do not reserve huge amount of swap on 32 bit architectures.

The mmap() call which reserves the arena should have MAP_NORESERVE
flag as in typical cases this memory will never be (fully) needed.
This matters in environments which do not do Linux style memory
overcommit, such as OpenIndiana/OpenSolaris/Solaris.

The MAP_NORESERVE flag does not exist on all operating systems
(for example FreeBSD). Therefore we define it to zero value in
case it does not exist.

Fixes issue 21.

From-SVN: r196088

11 years agoconfigure.ac: Set libgloss_dir for the aarch64*-*-* targets.
Yufeng Zhang [Fri, 15 Feb 2013 17:45:54 +0000 (17:45 +0000)]
configure.ac: Set libgloss_dir for the aarch64*-*-* targets.

* configure.ac: Set libgloss_dir for the aarch64*-*-* targets.
* configure: Regenerated.

From-SVN: r196083

11 years agore PR c++/56343 ([C++11] Destructor defaulted on first declaration has wrong implicit...
Jason Merrill [Fri, 15 Feb 2013 17:19:45 +0000 (12:19 -0500)]
re PR c++/56343 ([C++11] Destructor defaulted on first declaration has wrong implicit exception specification)

PR c++/56343
* class.c (check_bases_and_members): Deduce noexcept after
checking bases.

From-SVN: r196082

11 years agore PR c++/52026 (Constexpr Variable Appears Uninitialized in Lambda)
Jason Merrill [Fri, 15 Feb 2013 16:17:25 +0000 (11:17 -0500)]
re PR c++/52026 (Constexpr Variable Appears Uninitialized in Lambda)

PR c++/52026
* semantics.c (finish_id_expression): In a template, return
the identifier for a constant variable.

From-SVN: r196081

11 years ago* g++.dg/cpp0x/lambda/lambda-this8.C: Don't use NULL.
Jason Merrill [Fri, 15 Feb 2013 16:16:58 +0000 (11:16 -0500)]
* g++.dg/cpp0x/lambda/lambda-this8.C: Don't use NULL.

From-SVN: r196080

11 years agore PR target/55431 (Invalid auxv search in ppc linux-unwind code.)
Alan Modra [Fri, 15 Feb 2013 13:53:40 +0000 (00:23 +1030)]
re PR target/55431 (Invalid auxv search in ppc linux-unwind code.)

PR target/55431
* config/rs6000/linux-unwind.h (ppc_linux_aux_vector): Delete.
(ppc_fallback_frame_state): Always set up save locations for fp
and altivec.  Don't bother with non-callee-saved regs, r0-r13
except for r2 on ppc64, fr0-fr13, v0-v19, vscr.

From-SVN: r196077

11 years agointerrupt-1.c: Fix for thumb mode.
Greta Yorsh [Fri, 15 Feb 2013 13:27:11 +0000 (13:27 +0000)]
interrupt-1.c: Fix for thumb mode.

2012-02-15  Greta Yorsh  <Greta.Yorsh@arm.com>

        * gcc.target/arm/interrupt-1.c: Fix for thumb mode.
        * gcc.target/arm/interrupt-2.c: Likewise.

From-SVN: r196076

11 years agore PR fortran/56318 (Wrong result with MATMUL of PARAMETER)
Tobias Burnus [Fri, 15 Feb 2013 11:17:15 +0000 (12:17 +0100)]
re PR fortran/56318 (Wrong result with MATMUL of PARAMETER)

2013-02-14  Tobias Burnus  <burnus@net-b.de>
            Mikael Morin  <mikael@gcc.gnu.org>

        PR fortran/56318
        * simplify.c (gfc_simplify_matmul): Fix result shape
        and matmul result.

2013-02-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56318
        * gcc/testsuite/gfortran.dg/matmul_9.f90: New.

Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r196075

11 years agograph.c (start_graph_dump): Print dumpfile base as digraph label.
Steven Bosscher [Fri, 15 Feb 2013 09:30:52 +0000 (09:30 +0000)]
graph.c (start_graph_dump): Print dumpfile base as digraph label.

* graph.c (start_graph_dump): Print dumpfile base as digraph label.
(clean_graph_dump_file): Pass base to start_graph_dump.

From-SVN: r196074

11 years agore PR fortran/53818 (-finit-local-zero -fno-automatic: Function result cannot have...
Tobias Burnus [Fri, 15 Feb 2013 08:50:37 +0000 (09:50 +0100)]
re PR fortran/53818 (-finit-local-zero -fno-automatic: Function result cannot have initializer)

2013-02-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53818
        * resolve.c (apply_default_init_local): Don't create an
        initializer for a result variable.

2013-02-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53818
        * gfortran.dg/init_flag_11.f90: New.

From-SVN: r196073

11 years agore PR target/55941 (Strange copy of double (in struct) to stack)
Richard Henderson [Fri, 15 Feb 2013 01:41:29 +0000 (17:41 -0800)]
re PR target/55941 (Strange copy of double (in struct) to stack)

PR target/55941
        * lower-subreg.c (simple_move): Check dest mode instead of src mode.

From-SVN: r196071

11 years agore PR c++/54922 ([C++11][DR 1359] constexpr constructors require initialization of...
Jason Merrill [Fri, 15 Feb 2013 01:27:47 +0000 (20:27 -0500)]
re PR c++/54922 ([C++11][DR 1359] constexpr constructors require initialization of all union members)

PR c++/54922
* semantics.c (build_anon_member_initialization): New.
(build_data_member_initialization): Use it.

From-SVN: r196070

11 years agore PR c++/55003 ([C++11] Member function pointer not working as constexpr initializer)
Jason Merrill [Fri, 15 Feb 2013 01:27:36 +0000 (20:27 -0500)]
re PR c++/55003 ([C++11] Member function pointer not working as constexpr initializer)

PR c++/55003
* decl.c (cp_finish_decl): Force instantiation of an
auto static data member.

From-SVN: r196069

11 years agore PR c++/55220 ([c++11] ICE when doing partial template specialization on variadic...
Jason Merrill [Fri, 15 Feb 2013 01:27:12 +0000 (20:27 -0500)]
re PR c++/55220 ([c++11] ICE when doing partial template specialization on variadic template)

PR c++/55220
* pt.c (unify): A pack expansion that is not the last template
argument makes the entire template argument list non-deduced.

From-SVN: r196068

11 years agore PR c++/56323 ([C++11] cannot compile inherited constructor for typedef'ed base...
Jason Merrill [Fri, 15 Feb 2013 01:27:03 +0000 (20:27 -0500)]
re PR c++/56323 ([C++11] cannot compile inherited constructor for typedef'ed base class)

PR c++/56323
* name-lookup.c (do_class_using_decl): Handle typedefs with
inheriting constructors.
(push_class_level_binding_1): Allow inheriting from template
template parameter, too.
* pt.c (tsubst_decl) [USING_DECL]: Likewise.

From-SVN: r196067

11 years agoquick_exit.cc: #if out the whole test if unsupported.
Jason Merrill [Fri, 15 Feb 2013 01:26:54 +0000 (20:26 -0500)]
quick_exit.cc: #if out the whole test if unsupported.

* testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
test if unsupported.

From-SVN: r196066

11 years agore PR c++/55223 ([C++11] Default lambda expression of a templated class member)
Jason Merrill [Fri, 15 Feb 2013 01:26:44 +0000 (20:26 -0500)]
re PR c++/55223 ([C++11] Default lambda expression of a templated class member)

PR c++/55223
gcc/cp/
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Fix handling of
default argument scope.
* mangle.c (write_name): Likewise.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DEFAULT_ARG.
(d_print_comp): Likewise.

From-SVN: r196065

11 years agore PR c++/55232 ([C++11] ICE with -Wunused-parameter for unused parameter pack using...
Jason Merrill [Fri, 15 Feb 2013 01:26:34 +0000 (20:26 -0500)]
re PR c++/55232 ([C++11] ICE with -Wunused-parameter for unused parameter pack using qualified dependent name)

PR c++/55232
* error.c (find_typenames_r): Don't walk into a pack expansion.

From-SVN: r196064

11 years agoDaily bump.
GCC Administrator [Fri, 15 Feb 2013 00:19:00 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r196063

11 years agore PR fortran/56224 (gfortran -fopenmp cannot find omp_lib.h)
Thomas Koenig [Thu, 14 Feb 2013 22:13:26 +0000 (22:13 +0000)]
re PR fortran/56224 (gfortran -fopenmp cannot find omp_lib.h)

2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/56224
* gfortran.h (gfc_add_include_path):  Add boolean argument
for warn.
* scanner.c (gfc_add_include_path):  Pass along warn argument
to add_path_to_list.
* options.c (gfc_post_options):  Add true warn argument to
gfc_add_include_path.
(gfc_handle_module_path_options):  Likewise.
(gfc_handle_option): Also gfc_add_include_path for intrinsic
modules, without warning.

From-SVN: r196058

11 years ago* collect2-aix.h: Define F_LOADONLY.
Steven Bosscher [Thu, 14 Feb 2013 20:40:55 +0000 (20:40 +0000)]
* collect2-aix.h: Define F_LOADONLY.

From-SVN: r196057

11 years agoOFF_T: Merged from upstream r175140
H.J. Lu [Thu, 14 Feb 2013 16:54:01 +0000 (08:54 -0800)]
OFF_T: Merged from upstream r175140

PR bootstrap/56327
* interception/interception.h (OFF_T): Merged from upstream
r175140.

From-SVN: r196054

11 years ago* g++.dg/cpp0x/lambda/lambda-this8.C: use __builtin_abort
Jason Merrill [Thu, 14 Feb 2013 13:51:21 +0000 (08:51 -0500)]
* g++.dg/cpp0x/lambda/lambda-this8.C: use __builtin_abort

From-SVN: r196053

11 years agore PR ada/52123 (gcc bootstrap with ada fails on mingw target)
Rainer Emrich [Thu, 14 Feb 2013 13:04:10 +0000 (13:04 +0000)]
re PR ada/52123 (gcc bootstrap with ada fails on mingw target)

2013-02-14  Rainer Emrich  <rainer@emrich-ebersheim.de>

        PR target/52123
        * tracebak.c: Cast from pointer via FARPROC.

From-SVN: r196051

11 years agore PR lto/50494 (gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto)
Richard Biener [Thu, 14 Feb 2013 12:24:12 +0000 (12:24 +0000)]
re PR lto/50494 (gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto)

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

PR lto/50494
* varasm.c (output_constant_def_1): Get the decl representing
the constant as argument.
(output_constant_def): Wrap output_constant_def_1.
(make_decl_rtl): Use output_constant_def_1 with the decl
representing the constant.
(build_constant_desc): Optionally re-use a decl already
representing the constant.
(tree_output_constant_def): Adjust.

From-SVN: r196050

11 years agoAllow for more whitespace in gcc.dg/debug/dwarf2/pr53948.c
Rainer Orth [Thu, 14 Feb 2013 11:45:01 +0000 (11:45 +0000)]
Allow for more whitespace in gcc.dg/debug/dwarf2/pr53948.c

* gcc.dg/debug/dwarf2/pr53948.c: Allow for more whitespace.

From-SVN: r196049

11 years agoFix gcc.dg/debug/dwarf2/pr53948.c with Sun as
Rainer Orth [Thu, 14 Feb 2013 09:59:30 +0000 (09:59 +0000)]
Fix gcc.dg/debug/dwarf2/pr53948.c with Sun as

* gcc.dg/debug/dwarf2/pr53948.c: Allow for / and ! as comment
characters.

From-SVN: r196048

11 years agorevert: [multiple changes]
Tobias Burnus [Thu, 14 Feb 2013 09:37:53 +0000 (10:37 +0100)]
revert: [multiple changes]

2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR testsuite/56138
        * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
        results for functions without extra result variable.

        Revert:
        2013-01-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56138
        * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
        results for functions without extra result variable.

2013-02-14  Dominique d'Humieres  <dominiq@lps.ens.fr>
            Tobias Burnus  <burnus@net-b.de>

        PR testsuite/56138
        * gfortran.dg/allocatable_function_7.f90: New.

From-SVN: r196047

11 years agodejagnu-gtest.h: Add multiple inclusion guards.
Jakub Jelinek [Thu, 14 Feb 2013 08:40:13 +0000 (09:40 +0100)]
dejagnu-gtest.h: Add multiple inclusion guards.

* g++.dg/asan/dejagnu-gtest.h: Add multiple inclusion guards.
* asan_globals_test-wrapper.cc: New file.
* g++.dg/asan/asan_test.C: Use asan_globals_test-wrapper.cc
instead of asan_globals_test.cc as dg-additional-sources.
Include asan_mem_test.cc, asan_str_test.cc and asan_oob_test.cc.
* g++.dg/asan/asan_test_utils.h: Synced from upstream.  Include
"sanitizer_test_utils.h" instead of
"sanitizer_common/tests/sanitizer_test_utils.h".
* g++.dg/asan/asan_str_test.cc: New file, synced from upstream.
* g++.dg/asan/asan_mem_test.cc: New file, synced from upstream.
* g++.dg/asan/asan_oob_test.cc: New file, synced from upstream.
* g++.dg/asan/asan_globals_test.cc: Synced from upstream.
* g++.dg/asan/asan_test.cc: Synced from upstream.
* g++.dg/asan/sanitizer_test_utils.h: New file, synced from upstream.

From-SVN: r196045

11 years ago[asan] Fix a thinko leading to a crash
Dodji Seketeli [Thu, 14 Feb 2013 04:37:56 +0000 (04:37 +0000)]
[asan] Fix a thinko leading to a crash

It appeared that in my previous patch, a stupid thinko can lead to a
crash when instrumenting some builtin functionsK.  Fixed thus.

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

gcc/
* asan.c (instrument_builtin_call):  Really put the length of the
second source argument into src1_len.

gcc/testsuite/

* c-c++-common/asan/memcmp-2.c: New test.

From-SVN: r196044

11 years agore PR c++/55670 ([C++11] This isn't a pure virtual method.)
Jason Merrill [Thu, 14 Feb 2013 04:31:03 +0000 (23:31 -0500)]
re PR c++/55670 ([C++11] This isn't a pure virtual method.)

PR c++/55670
* parser.c (cp_parser_member_declaration): Check the declarator
form when detecting a function declaration via typedef.

From-SVN: r196043

11 years agore PR c++/55680 ([C++11] Member specialization with lambda is rejected)
Jason Merrill [Thu, 14 Feb 2013 04:30:26 +0000 (23:30 -0500)]
re PR c++/55680 ([C++11] Member specialization with lambda is rejected)

PR c++/55680
* pt.c (maybe_process_partial_specialization): A lambda
isn't what's being specialized.

From-SVN: r196042

11 years agore PR c++/55582 ([C++11] Unable to define string user-defined literal without leading...
Ed Smith-Rowland [Thu, 14 Feb 2013 02:55:42 +0000 (02:55 +0000)]
re PR c++/55582 ([C++11] Unable to define string user-defined literal without leading underscore.)

gcc/libcpp/

2013-02-13  Ed Smith-Rowland  <3dw4rd@verizon.net>

PR c++/55582
* libcpp/lex.c (lex_raw_string): Allow string literal with suffix
beginning with 's' to be parsed as a C++11 user-defined literal.

gcc/testsuite/

2013-02-13  Ed Smith-Rowland  <3dw4rd@verizon.net>

PR c++/55582
* g++.dg/cpp0x/udlit-string-literal.h: New.
* g++.dg/cpp0x/udlit-string-literal.C: New.

From-SVN: r196041

11 years agoDaily bump.
GCC Administrator [Thu, 14 Feb 2013 00:19:07 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r196039

11 years agore PR libstdc++/56111 ({float,double,long double} complex not accepted anymore)
Marc Glisse [Wed, 13 Feb 2013 21:58:53 +0000 (22:58 +0100)]
re PR libstdc++/56111 ({float,double,long double} complex not accepted anymore)

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

PR libstdc++/56111
* include/std/complex (complex): Undefine.
* include/c_compatibility/complex.h (complex): Only undefine if
<complex> has been included.
* testsuite/26_numerics/complex/56111.cc: New testcase.

From-SVN: r196034

11 years agomv12-aux.C: Delete, move to mv12-aux.cc.
Sriraman Tallam [Wed, 13 Feb 2013 21:51:27 +0000 (21:51 +0000)]
mv12-aux.C: Delete, move to mv12-aux.cc.

2013-02-13  Sriraman Tallam  <tmsriram@google.com>

* g++.dg/ext/mv12-aux.C: Delete, move to mv12-aux.cc.
* g++.dg/ext/mv12-aux.cc: New file.
* g++.dg/ext/mv12.h: Remove directives. Fix comment.
* g++.dg/ext/mv12.C: Fix file name.

From-SVN: r196033

11 years agohashtable_policy.h (_Hash_code_base): Restore default constructor protected.
François Dumont [Wed, 13 Feb 2013 21:09:34 +0000 (21:09 +0000)]
hashtable_policy.h (_Hash_code_base): Restore default constructor protected.

2013-02-13  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h (_Hash_code_base): Restore
default constructor protected.
* include/bits/hashtable.h: static assert that _Hash_code_base has
a default constructor available through inheritance.

From-SVN: r196030

11 years agoasan.c (create_cond_insert_point): Add create_then_fallthru_edge argument.
Jakub Jelinek [Wed, 13 Feb 2013 20:47:39 +0000 (21:47 +0100)]
asan.c (create_cond_insert_point): Add create_then_fallthru_edge argument.

* asan.c (create_cond_insert_point): Add create_then_fallthru_edge
argument.  If it is false, don't create edge from then_bb to
fallthru_bb.
(insert_if_then_before_iter): Pass true to it.
(build_check_stmt): Pass false to it.
(transform_statements): Flush hash table only on extended basic
block boundaries, rather than at the beginning of every bb.
Don't flush hash table on nonfreeing_call_p calls.
* tree-flow.h (nonfreeing_call_p): New prototype.
* tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.

From-SVN: r196029

11 years agoWe should not strip subregs of non-scalars during shift expansion.
David S. Miller [Wed, 13 Feb 2013 20:25:41 +0000 (20:25 +0000)]
We should not strip subregs of non-scalars during shift expansion.

* expmed.c (expand_shift_1): Only strip scalar integer subregs.

From-SVN: r196027

11 years agoMake sure mv12-aux.C has same directives as mv12.C.
Sriraman Tallam [Wed, 13 Feb 2013 18:55:02 +0000 (18:55 +0000)]
Make sure mv12-aux.C has same directives as mv12.C.

Make sure mv12-aux.C has same directives as mv12.C. mv12-aux.C should not
compile for non-x86 targets.

2013-02-13  Sriraman Tallam  <tmsriram@google.com>

* g++.dg/ext/mv12-aux.C: Add directives to match mv12.C.

From-SVN: r196026

11 years agore PR c++/55710 ([C++11] Linkage errors with lambdas)
Jason Merrill [Wed, 13 Feb 2013 18:17:39 +0000 (13:17 -0500)]
re PR c++/55710 ([C++11] Linkage errors with lambdas)

PR c++/55710
* semantics.c (maybe_add_lambda_conv_op): Mark static thunk
TREE_USED.

From-SVN: r196025

11 years agore PR c++/55879 ([C++11] nested constexpr Initialisation raises internal compiler...
Jason Merrill [Wed, 13 Feb 2013 17:56:38 +0000 (12:56 -0500)]
re PR c++/55879 ([C++11] nested constexpr Initialisation raises internal compiler error)

PR c++/55879
* semantics.c (cxx_bind_parameters_in_call): Undo DECL_BY_REFERENCE.

From-SVN: r196024

11 years agore PR c++/55993 ([C++11] derived-to-base conversion fails in constant expression)
Jason Merrill [Wed, 13 Feb 2013 17:56:28 +0000 (12:56 -0500)]
re PR c++/55993 ([C++11] derived-to-base conversion fails in constant expression)

PR c++/55993
* semantics.c (cxx_fold_indirect_ref): Handle empty bases at
non-zero offsets, too.

From-SVN: r196023

11 years agore PR c++/56155 ([C++11] enumeration with fixed underlying type - enumerators have...
Jason Merrill [Wed, 13 Feb 2013 17:56:16 +0000 (12:56 -0500)]
re PR c++/56155 ([C++11] enumeration with fixed underlying type - enumerators have wrong type within enumerator-list)

PR c++/56155
* decl.c (build_enumerator): Always convert the value to a
fixed underlying type.

From-SVN: r196022

11 years agore PR c++/56135 ([c++11] this incorrectly captured as null in template member function)
Jason Merrill [Wed, 13 Feb 2013 17:56:05 +0000 (12:56 -0500)]
re PR c++/56135 ([c++11] this incorrectly captured as null in template member function)

PR c++/56135
* pt.c (tsubst_copy_and_build): Don't forget any new
captures that arose from use of dependent names.

From-SVN: r196021

11 years agore PR target/56184 (Internal compiler error in push_reload during bootstrap stage 2)
Vladimir Makarov [Wed, 13 Feb 2013 17:40:22 +0000 (17:40 +0000)]
re PR target/56184 (Internal compiler error in push_reload during bootstrap stage 2)

2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>

PR target/56184
* ira.c (max_regno_before_ira): Move from ...
(ira): ... here.
(fix_reg_equiv_init): Use max_regno_before_ira instead of
vec_safe_length.

2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>

PR target/56184
* gcc.target/arm/pr56184.C: New test.

From-SVN: r196019

11 years agore PR c++/56302 (sys/sdt.h asms stopped working at -O0)
Jakub Jelinek [Wed, 13 Feb 2013 16:09:27 +0000 (17:09 +0100)]
re PR c++/56302 (sys/sdt.h asms stopped working at -O0)

PR c++/56302
* semantics.c (finish_asm_stmt): If input constraints allow
neither register nor memory, try maybe_constant_value to get
a constant if possible.

* g++.dg/torture/pr56302.C: New test.
* g++.dg/cpp0x/constexpr-56302.C: New test.
* c-c++-common/pr56302.c: New test.

From-SVN: r196018

11 years agoi386.c (ix86_asan_shadow_offset): Revert last change.
Jakub Jelinek [Wed, 13 Feb 2013 16:06:43 +0000 (17:06 +0100)]
i386.c (ix86_asan_shadow_offset): Revert last change.

* config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.

* asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64.

From-SVN: r196017

11 years agore PR lto/56295 (Missed optimization with LTO)
Richard Biener [Wed, 13 Feb 2013 13:31:18 +0000 (13:31 +0000)]
re PR lto/56295 (Missed optimization with LTO)

2013-02-13  Richard Biener  <rguenther@suse.de>

PR lto/56295
* gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
globals in MEM_REFs.

From-SVN: r196013

11 years agore PR fortran/56204 (gfortran.dg/quad_[23].f90 FAIL on Solaris 9/x86)
Tobias Burnus [Wed, 13 Feb 2013 12:03:18 +0000 (13:03 +0100)]
re PR fortran/56204 (gfortran.dg/quad_[23].f90 FAIL on Solaris 9/x86)

2013-02-13  Tobias Burnus  <burnus@net-b.de>
            Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

        PR fortran/56204
        * gfortran.dg/quad_2.f90: Use "< epsilon" instead of "==".
        * gfortran.dg/quad_3.f90: Ditto.

From-SVN: r196011

11 years agoloop-init.c (loop_optimizer_init): Clear loop state when re-initializing preserved...
Richard Biener [Wed, 13 Feb 2013 11:42:04 +0000 (11:42 +0000)]
loop-init.c (loop_optimizer_init): Clear loop state when re-initializing preserved loops.

2013-02-13  Richard Biener  <rguenther@suse.de>

* loop-init.c (loop_optimizer_init): Clear loop state when
re-initializing preserved loops.
* loop-unswitch.c (unswitch_single_loop): Return whether
we unswitched the loop.  Do not verify loop state here.
(unswitch_loops): When we unswitched a loop discover new
loops.

From-SVN: r196010

11 years agolibsanitizer merge from upstream r175049
Kostya Serebryany [Wed, 13 Feb 2013 10:46:01 +0000 (10:46 +0000)]
libsanitizer merge from upstream r175049

From-SVN: r196009

11 years ago[asan] Avoid instrumenting duplicated memory access in the same basic block
Dodji Seketeli [Wed, 13 Feb 2013 10:32:26 +0000 (10:32 +0000)]
[asan] Avoid instrumenting duplicated memory access in the same basic block

Like what Address Sanitizer does in LLVM, this patch avoids instrumented
duplicated memory accesses in the same basic blocks.

The approach taken is very conservative, to keep the pass simple, for
a start.

A memory access is considered to be a pair made of an expression tree
representing the beginning of the memory region that is accessed and
a the size of the access, in byte.  For now that size is either 1, 2,
4, 8 or 16 bytes.

The patch builds a hash table of the memory accesses that have been
instrumented in the current basic block.  Then it walks the gimple
statements of the current basic block.  For each statement, it tests
if the memory regions it references have already been instrumented.
If not, the statement is instrumented and each memory references that
are actually instrumented are added to the hash table.  When a memory
region is accessed (usually through builtin functions like memset),
then what gets added to the hash table is actually two memory
accesses: one for the beginning of the region, and the other for the
its end.

When the patch crosses a function call that is not a built-in function
that we ought to instrument, the hash table is cleared, because that
function call can possibly e.g free some memory that was instrumented.

Likewise, when a new basic block is visited, the hash table is
cleared.  I guess we could be smarter than just unconditionally
clearing the hash table in this later case, but this is what asan@llvm
does, and for now, I thought starting in a conservative manner might
have some value.

The hash table is destroyed at the end of the pass.

Bootstrapped and tested against trunk on x86-64-unknown-linux-gnu.

gcc/
* Makefile.in (asan.o): Add new dependency on hash-table.h
* asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
(asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
(has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
(free_mem_ref_resources, has_mem_ref_been_instrumented)
(has_stmt_been_instrumented_p, update_mem_ref_hash_table)
(get_mem_ref_of_assignment): New functions.
(get_mem_refs_of_builtin_call): Extract from
instrument_builtin_call and tweak a little bit to make it fit with
the new signature.
(instrument_builtin_call): Use the new
get_mem_refs_of_builtin_call.  Use gimple_call_builtin_p instead
of is_gimple_builtin_call.
(instrument_derefs, instrument_mem_region_access): Insert the
instrumented memory reference into the hash table.
(maybe_instrument_assignment): Renamed instrument_assignment into
this, and change it to advance the iterator when instrumentation
actually happened and return true in that case.  This makes it
homogeneous with maybe_instrument_assignment, and thus give a
chance to callers to be more 'regular'.
(transform_statements): Clear the memory reference hash table
whenever we enter a new BB, when we cross a function call, or when
we are done transforming statements.  Use
maybe_instrument_assignment instead of instrumentation.  No more
need to special case maybe_instrument_assignment and advance the
iterator after calling it; it's now handled just like
maybe_instrument_call.  Update comment.

gcc/testsuite/

* c-c++-common/asan/no-redundant-instrumentation-1.c: New test.
* testsuite/c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
* testsuite/c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
* testsuite/c-c++-common/asan/inc.c: Likewise.

From-SVN: r196008

11 years agoFix typo in ChangeLog
Kai Tietz [Wed, 13 Feb 2013 10:30:32 +0000 (11:30 +0100)]
Fix typo in ChangeLog

From-SVN: r196005

11 years agore PR target/52122 (incorrect ln -s replacement for mingw like targets in configure...
Kai Tietz [Wed, 13 Feb 2013 10:19:26 +0000 (11:19 +0100)]
re PR target/52122 (incorrect ln -s replacement for mingw like targets in configure files)

PR target/52122
* Makefile.in (LN_S_RECUSIVE): New.
(adainclude, adalib): Use LN_S_RECURSIVE for copy.

From-SVN: r196002

11 years agoRevert rev. 195980
Kai Tietz [Wed, 13 Feb 2013 10:01:13 +0000 (11:01 +0100)]
Revert rev. 195980

From-SVN: r196001

11 years agomn10300.c (mn10300_scan_for_setlb_lcc): Fix loop discovery code.
Richard Biener [Wed, 13 Feb 2013 09:38:09 +0000 (09:38 +0000)]
mn10300.c (mn10300_scan_for_setlb_lcc): Fix loop discovery code.

2013-02-13  Richard Biener  <rguenther@suse.de>

* config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
Fix loop discovery code.

From-SVN: r195998

11 years agoDaily bump.
GCC Administrator [Wed, 13 Feb 2013 00:18:45 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195995

11 years agore PR c++/56285 ([C++11] Arguments to an inheriting constructor are not forwarded...
Jason Merrill [Tue, 12 Feb 2013 20:47:15 +0000 (15:47 -0500)]
re PR c++/56285 ([C++11] Arguments to an inheriting constructor are not forwarded properly)

PR c++/56285
* method.c (add_one_base_init): Handle base constructor
taking rvalue reference parm.

From-SVN: r195990

11 years agoFix bootstrap with -O3.
Marek Polacek [Tue, 12 Feb 2013 20:07:04 +0000 (20:07 +0000)]
Fix bootstrap with -O3.

From-SVN: r195989

11 years agore PR inline-asm/56148 (inline asm matching constraint with different mode)
Vladimir Makarov [Tue, 12 Feb 2013 17:44:47 +0000 (17:44 +0000)]
re PR inline-asm/56148 (inline asm matching constraint with different mode)

2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>

PR inline-asm/56148
* lra-constraints.c (process_alt_operands): Match early clobber
operand with itself.  Check conflicts with earlyclobner only if
the operand is not reloaded.  Prefer to reload conflicting operand
if earlyclobber and matching operands are the same.

2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>

PR inline-asm/56148
* gcc.target/i386/pr56148.c: New test.

From-SVN: r195988

11 years agore PR c++/56291 (ICE for C++11 in output_constructor_regular_field, at varasm.c:4821)
Jason Merrill [Tue, 12 Feb 2013 17:36:58 +0000 (12:36 -0500)]
re PR c++/56291 (ICE for C++11 in output_constructor_regular_field, at varasm.c:4821)

PR c++/56291
* semantics.c (sort_constexpr_mem_initializers): Handle
vptr out of order.

From-SVN: r195986

11 years agoint128 tests
Jason Merrill [Tue, 12 Feb 2013 16:32:30 +0000 (11:32 -0500)]
int128 tests

From-SVN: r195985

11 years agore PR testsuite/56082 (FAIL: gfortran.dg/bind_c_bool_1.f90 -O (test for errors...
Dominique d'Humieres [Tue, 12 Feb 2013 16:22:13 +0000 (17:22 +0100)]
re PR testsuite/56082 (FAIL: gfortran.dg/bind_c_bool_1.f90  -O   (test for errors, line 18) on powerpc-apple-darwin9 with -m32)

2013-02-12  Dominique d'Humieres  <dominiq@lps.ens.fr>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/56082
        * gfortran.dg/bind_c_bool_1.f90 (sub): Change kind=4
        to kind=2 as 32bit Darwin has C_Bool == 4.

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