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

11 years agore PR target/52122 (incorrect ln -s replacement for mingw like targets in configure...
Kai Tietz [Tue, 12 Feb 2013 15:32:01 +0000 (16:32 +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: r195980

11 years agore PR lto/56297 (LTO: multiple definition error with global register variables)
Richard Biener [Tue, 12 Feb 2013 15:14:32 +0000 (15:14 +0000)]
re PR lto/56297 (LTO: multiple definition error with global register variables)

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

PR lto/56297
* lto-streamer-out.c (write_symbol): Do not output symbols
for hard register variables.

* gcc.dg/lto/pr56297_0.c: New testcase.
* gcc.dg/lto/pr56297_0.c: Likewise.

From-SVN: r195979

11 years agore PR target/54222 ([avr] Implement fixed-point support)
Georg-Johann Lay [Tue, 12 Feb 2013 14:55:16 +0000 (14:55 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)

gcc/
PR target/54222
* config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
(umulsidi3_insn, mulsidi3_insn): New insns.

libgcc/
PR target/54222
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _usmulUHA, _usmulUSA,
_ssmulHA, _ssmulSA.
(LIB1ASMFUNCS): Add: _muldi3_6, _mulsidi3, _umulsidi3, _usmuluha3,
_ssmulha3, _usmulusa3, _ssmulsa3.
* config/avr/lib1funcs.S (__muldi3_6): Break out of __muldi3.
(__muldi3): XCALL __muldi3_6 instead of rcall.
(__umulsidi3, __mulsidi3): New functions.
(do_prologue_saves, do_epilogue_restores): New .macros.
(__divdi3_moddi3): Use them.
* config/avr/lib1funcs-fixed.S (__usmuluha3, __ssmulha3)
(__usmulusa3, __ssmulsa3): New functions.

From-SVN: r195978

11 years agoarm-protos.h (struct cpu_vec_costs): New struct type.
Christophe Lyon [Tue, 12 Feb 2013 14:53:45 +0000 (14:53 +0000)]
arm-protos.h (struct cpu_vec_costs): New struct type.

2013-02-05  Christophe Lyon <christophe.lyon@linaro.org>

* config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
(struct tune_params): Add vec_costs field.
* config/arm/arm.c (arm_builtin_vectorization_cost)
(arm_add_stmt_cost): New functions.
(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
(TARGET_VECTORIZE_ADD_STMT_COST): Define.
(arm_default_vec_cost): New struct of type cpu_vec_costs.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
(arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
(arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.

From-SVN: r195977

11 years agore PR lto/56295 (Missed optimization with LTO)
Richard Biener [Tue, 12 Feb 2013 14:04:44 +0000 (14:04 +0000)]
re PR lto/56295 (Missed optimization with LTO)

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

PR lto/56295
* gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
decls again if possible.

From-SVN: r195976

11 years agore PR fortran/46952 ([OOP] Spurious "recursive call" error with type bound procedure)
Janus Weil [Tue, 12 Feb 2013 12:15:26 +0000 (13:15 +0100)]
re PR fortran/46952 ([OOP] Spurious "recursive call" error with type bound procedure)

2013-02-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/46952
* resolve.c (resolve_call): Do not check deferred procedures for
recursiveness.

2013-02-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/46952
* gfortran.dg/typebound_deferred_1.f90: New.

From-SVN: r195975

11 years agocstdlib (at_quick_exit, quick_exit): Provide in C++11 mode.
Paolo Carlini [Tue, 12 Feb 2013 12:01:14 +0000 (12:01 +0000)]
cstdlib (at_quick_exit, quick_exit): Provide in C++11 mode.

2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
C++11 mode.

From-SVN: r195974

11 years agore PR middle-end/56288 (always true conditional expression in verify_ssa_name)
Richard Biener [Tue, 12 Feb 2013 11:18:05 +0000 (11:18 +0000)]
re PR middle-end/56288 (always true conditional expression in verify_ssa_name)

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

PR middle-end/56288
* tree-ssa.c (verify_ssa_name): Fix check, move
SSA_NAME_IN_FREE_LIST check up.

From-SVN: r195973

11 years agore PR rtl-optimization/56151 (Performance degradation after r194054 on x86 Atom.)
Jakub Jelinek [Tue, 12 Feb 2013 10:37:38 +0000 (11:37 +0100)]
re PR rtl-optimization/56151 (Performance degradation after r194054 on x86 Atom.)

PR rtl-optimization/56151
* optabs.c (add_equal_note): Don't return 0 if target is a MEM,
equal to op0 or op1, and last_insn pattern is CODE operation
with MEM dest and one of the operands matches that MEM.

* gcc.target/i386/pr56151.c: New test.

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

11 years ago38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU...
Julian Brown [Tue, 12 Feb 2013 10:32:01 +0000 (10:32 +0000)]
38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU for glibc versions...

libstdc++-v3/
* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
Don't expect dots after abbreviated weekday names for ru_RU for
glibc versions >= 2.17.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
Likewise.

From-SVN: r195971

11 years agorandom.tcc (__transform): Remove.
Paolo Carlini [Tue, 12 Feb 2013 10:26:54 +0000 (10:26 +0000)]
random.tcc (__transform): Remove.

2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/random.tcc (__transform): Remove.
(__normalize): Add.
(discrete_distribution<>::param_type::_M_initialize): Adjust.
(piecewise_constant_distribution<>::param_type::_M_initialize):
Likewise.
(piecewise_linear_distribution<>::param_type::_M_initialize):
Likewise.

From-SVN: r195970

11 years agoextend.texi: Document Function Multiversioning and "default" parameter string to...
Sriraman Tallam [Tue, 12 Feb 2013 06:50:32 +0000 (06:50 +0000)]
extend.texi: Document Function Multiversioning and "default" parameter string to target...

* doc/extend.texi: Document Function Multiversioning and "default"
parameter string to target attribute.
* g++.dg/ext/mv12.C: New test.
* g++.dg/ext/mv12.h: New file.
* g++.dg/ext/mv12-aux.C: New file.
* g++.dg/ext/mv13.C: New test.
* config/i386/i386.c (get_builtin_code_for_version): Return 0 if
target attribute parameter is "default".
(ix86_compare_version_priority): Remove checks for target attribute.
(ix86_mangle_function_version_assembler_name): Change error to sorry.
Remove check for target attribute equal to NULL. Add assert.
(ix86_generate_version_dispatcher_body): Change error to sorry.

From-SVN: r195967

11 years agoMakefile.am (hashtable_c++0x.lo, [...]): Use -fimplicit-templates.
Benjamin Kosnik [Tue, 12 Feb 2013 00:39:38 +0000 (00:39 +0000)]
Makefile.am (hashtable_c++0x.lo, [...]): Use -fimplicit-templates.

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

* src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
Use -fimplicit-templates.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/hashtable_c++0x.cc: Remove instantiation for
std::lower_bound template.

From-SVN: r195966

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

From-SVN: r195965

11 years agocstdlib (at_quick_exit, quick_exit): Do not declare.
Paolo Carlini [Mon, 11 Feb 2013 23:42:43 +0000 (23:42 +0000)]
cstdlib (at_quick_exit, quick_exit): Do not declare.

2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
* include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
in C++11 mode and if available in the underlying C library.
* testsuite/18_support/quick_exit/quick_exit.cc: Compile with
-std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
_GLIBCXX_HAVE_QUICK_EXIT.

From-SVN: r195961

11 years agore PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271)
Iain Sandoe [Mon, 11 Feb 2013 23:30:10 +0000 (23:30 +0000)]
re PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271)

/libgcc
2013-02-11  Iain Sandoe  <iain@codesourcery.com>
    Jack Howarth  <howarth@bromo.med.uc.edu>
    Patrick Marlier  <patrick.marlier@gmail.com>

PR libitm/55693
* config/darwin-crt-tm.c: Remove dummy functions hack.

/gcc
2013-02-11  Iain Sandoe  <iain@codesourcery.com>
    Jack Howarth  <howarth@bromo.med.uc.edu>
    Patrick Marlier  <patrick.marlier@gmail.com>

PR libitm/55693
* config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
define ENDFILE_SPEC as TM_DESTRUCTOR.
* config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.

/libitm
2013-02-11  Iain Sandoe  <iain@codesourcery.com>
    Jack Howarth  <howarth@bromo.med.uc.edu>
    Patrick Marlier  <patrick.marlier@gmail.com>

PR libitm/55693
* alloc_cpp.cc: Enable function declarations on darwin.
* eh_cpp.cc: Likewise.

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
From-SVN: r195960

11 years ago*: Regenerate.
Benjamin Kosnik [Mon, 11 Feb 2013 23:24:26 +0000 (23:24 +0000)]
*: Regenerate.

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

* doc/html/*: Regenerate.

From-SVN: r195959

11 years agoconfigure.tgt: Disable build on darwin9 and earlier.
Jack Howarth [Mon, 11 Feb 2013 23:13:37 +0000 (23:13 +0000)]
configure.tgt: Disable build on darwin9 and earlier.

2013-02-11  Jack Howarth  <howarth@bromo.med.uc.edu>

    * configure.tgt: Disable build on darwin9 and earlier.

From-SVN: r195958

11 years ago2013-02-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
Sebastian Huber [Mon, 11 Feb 2013 23:11:12 +0000 (23:11 +0000)]
2013-02-11  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        * lib/target-supports.exp
        (check_effective_target_powerpc_eabi_ok): New.
        * gcc.target/powerpc/ppc-eabi.c: Use require effective target
        powerpc_eabi_ok.
        * gcc.target/powerpc/ppc-sdata-1.c: Likewise.
        * gcc.target/powerpc/spe-small-data-2.c: Likewise. Do not run, compile
        only.
        * gcc.target/powerpc/ppc-sdata-2.c: Add powerpc-*-rtems*.
        * gcc.target/powerpc/pr51623.c: Likewise.
        * gcc.target/powerpc/ppc-stackalign-1.c: Likewise.
        * gcc.target/powerpc/ppc-ldstruct.c: Likewise.

From-SVN: r195957

11 years agore PR sanitizer/55617 (static constructors are not being instrumented correctly on...
Alexander Potapenko [Mon, 11 Feb 2013 22:36:23 +0000 (22:36 +0000)]
re PR sanitizer/55617 (static constructors are not being instrumented correctly on darwin)

2013-02-11  Alexander Potapenko <glider@google.com>
    Jack Howarth  <howarth@bromo.med.uc.edu>
    Jakub Jelinek  <jakub@redhat.com>

PR sanitizer/55617
* config/darwin.c (cdtor_record): Rename ctor_record.
(sort_cdtor_records): Rename sort_ctor_records.
(finalize_dtors): New routine to sort destructors by
priority before use in assemble_integer.
(machopic_asm_out_destructor): Use finalize_dtors if needed.

testsuite:
2013-02-11  Alexander Potapenko <glider@google.com>
    Jack Howarth  <howarth@bromo.med.uc.edu>
    Jakub Jelinek  <jakub@redhat.com>

PR sanitizer/55617
* g++.dg/asan/pr55617.C: Run on all targets.

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r195956

11 years agoSync plugin-api.h with the copy in binutils. Please see:
Sriraman Tallam [Mon, 11 Feb 2013 19:42:25 +0000 (19:42 +0000)]
Sync plugin-api.h with the copy in binutils.  Please see:

http://sourceware.org/ml/binutils/2013-02/msg00136.html
for a change committed to plugin-api.h

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

* plugin-api.h (enum ld_plugin_level): Assign integers
explicitly for all values.

From-SVN: r195953

11 years agore PR go/56171 (syscall FAILs on Solaris)
Ian Lance Taylor [Mon, 11 Feb 2013 19:03:04 +0000 (19:03 +0000)]
re PR go/56171 (syscall FAILs on Solaris)

PR go/56171
libgo: Solaris portability for syscall package.

From Rainer Orth.

From-SVN: r195950

11 years agolinkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
Jason Merrill [Mon, 11 Feb 2013 17:50:13 +0000 (12:50 -0500)]
linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.

* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
* include/c_std/cstdlib: Add atexit and at_quick_exit.
* include/c_global/cstdlib: Add atexit and at_quick_exit.
* testsuite/18_support/quick_exit/quick_exit.cc: New.

From-SVN: r195948

11 years agore PR rtl-optimization/56275 (ICE in simplify_subreg, at simplify-rtx.c:5261 with...
Uros Bizjak [Mon, 11 Feb 2013 16:05:44 +0000 (17:05 +0100)]
re PR rtl-optimization/56275 (ICE in simplify_subreg, at simplify-rtx.c:5261 with vector code.)

PR rtl-optimization/56275
* simplify-rtx.c (avoid_constant_pool_reference): Check that
offset is non-negative and less than cmode size before
calling simplify_subreg.

testsuite/ChangeLog:

PR rtl-optimization/56275
* gcc.dg/pr56275.c: New test.

From-SVN: r195944

11 years agore PR c++/56268 (C++11 ICE with boost multi-precision and boost variant during assign...
Jason Merrill [Mon, 11 Feb 2013 15:47:46 +0000 (10:47 -0500)]
re PR c++/56268 (C++11 ICE with boost multi-precision and boost variant during assignment)

PR c++/56268
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
maybe_instantiate_noexcept.

From-SVN: r195943

11 years agore PR tree-optimization/56273 (Bogus -Warray-bounds warning)
Richard Biener [Mon, 11 Feb 2013 15:08:51 +0000 (15:08 +0000)]
re PR tree-optimization/56273 (Bogus -Warray-bounds warning)

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

        PR tree-optimization/56273
* gcc.dg/tree-ssa/vrp17.c: Disable tail-merging.

From-SVN: r195942

11 years agore PR tree-optimization/56264 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop...
Richard Biener [Mon, 11 Feb 2013 15:07:40 +0000 (15:07 +0000)]
re PR tree-optimization/56264 (ICE in check_loop_closed_ssa_use, at  tree-ssa-loop-manip.c:557)

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

PR tree-optimization/56264
* cfgloop.h (fix_loop_structure): Adjust prototype.
* loop-init.c (fix_loop_structure): Return the number of
newly discovered loops.
* tree-cfgcleanup.c (repair_loop_structures): When new loops
are discovered, do a full loop-closed SSA rewrite.

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

From-SVN: r195941

11 years agore PR tree-optimization/56273 (Bogus -Warray-bounds warning)
Richard Biener [Mon, 11 Feb 2013 13:33:19 +0000 (13:33 +0000)]
re PR tree-optimization/56273 (Bogus -Warray-bounds warning)

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

PR tree-optimization/56273
* tree-vrp.c (simplify_cond_using_ranges): Disable for the
first VRP run.
(check_array_ref): Fix missing newline in dumps.
(search_for_addr_array): Likewise.

* g++.dg/warn/Warray-bounds-6.C: New testcase.
* gcc.dg/tree-ssa/pr21559.c: Adjust.
* gcc.dg/tree-ssa/vrp17.c: Likewise.
* gcc.dg/tree-ssa/vrp18.c: Likewise.
* gcc.dg/tree-ssa/vrp23.c: Likewise.
* gcc.dg/tree-ssa/vrp24.c: Likewise.

From-SVN: r195940

11 years agore PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))
Paolo Carlini [Mon, 11 Feb 2013 10:30:43 +0000 (10:30 +0000)]
re PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))

2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/56282
Revert:
2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR libstdc++/56193
* include/bits/basic_ios.h: Replace operator void*() const
with explicit operator bool() const in C++11 and greater.
* testsuite/27_io/basic_ios/pr56193.cc: New file.

From-SVN: r195939

11 years agocontainers.xml: Add section on unordered containers.
François Dumont [Mon, 11 Feb 2013 00:19:41 +0000 (00:19 +0000)]
containers.xml: Add section on unordered containers.

2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/containers.xml: Add section on unordered containers.
* doc/xml/manual/using.xml: Fix incomplete sentence.

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

11 years agore PR libstdc++/56267 (unordered containers require Assignable hash function)
Jonathan Wakely [Mon, 11 Feb 2013 00:19:29 +0000 (00:19 +0000)]
re PR libstdc++/56267 (unordered containers require Assignable hash function)

PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Check if hash function
is copy assignable.
* testsuite/23_containers/unordered_set/56267.cc: New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r195936

11 years agore PR libstdc++/56278 (unordered containers fail static assertion)
Jonathan Wakely [Mon, 11 Feb 2013 00:19:14 +0000 (00:19 +0000)]
re PR libstdc++/56278 (unordered containers fail static assertion)

PR libstdc++/56278
* include/bits/hashtable_policy.h (_Hash_code_base): Make default
constructor public.
* testsuite/23_containers/unordered_set/56278.cc: New.

From-SVN: r195935

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

From-SVN: r195934

11 years agocompiler, libgo: Permit testing package when test imports it circularly.
Ian Lance Taylor [Sun, 10 Feb 2013 06:02:38 +0000 (06:02 +0000)]
compiler, libgo: Permit testing package when test imports it circularly.

From-SVN: r195931

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

From-SVN: r195930

11 years agore PR go/56017 (libgo testsuite does not support cross testing)
Ian Lance Taylor [Sat, 9 Feb 2013 23:19:33 +0000 (23:19 +0000)]
re PR go/56017 (libgo testsuite does not support cross testing)

PR go/56017
libgo testsuite: If using DejaGNU, don't frob the log file.

From-SVN: r195927

11 years agore PR go/56017 (libgo testsuite does not support cross testing)
Ian Lance Taylor [Sat, 9 Feb 2013 23:02:09 +0000 (23:02 +0000)]
re PR go/56017 (libgo testsuite does not support cross testing)

PR go/56017
libgo DejaGNU testsuite: Load timeout.exp before go.exp.

From-SVN: r195926

11 years agobessel_function.tcc (__cyl_bessel_ij_series): Code simplification.
François Dumont [Sat, 9 Feb 2013 20:55:12 +0000 (20:55 +0000)]
bessel_function.tcc (__cyl_bessel_ij_series): Code simplification.

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

* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
simplification.

From-SVN: r195925

11 years agore PR c++/56247 (internal compiler error: in tsubst_copy, at cp/pt.c:12131)
Jason Merrill [Sat, 9 Feb 2013 20:39:13 +0000 (15:39 -0500)]
re PR c++/56247 (internal compiler error: in tsubst_copy, at cp/pt.c:12131)

PR c++/56247
* pt.c (eq_specializations): Set comparing_specializations.
* tree.c (cp_tree_equal): Check it.
* cp-tree.h: Declare it.

From-SVN: r195922

11 years ago* decl.c (decls_match): Check versions later.
Jason Merrill [Sat, 9 Feb 2013 20:38:54 +0000 (15:38 -0500)]
* decl.c (decls_match): Check versions later.

From-SVN: r195921

11 years agore PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_...
Jason Merrill [Sat, 9 Feb 2013 20:38:33 +0000 (15:38 -0500)]
re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_type, have template_type_parm in lookup_conversions, at cp/search.c:2515)

PR c++/56238
* pt.c (build_non_dependent_expr): Don't try to fold
instantiation-dependent expressions.
(instantiation_dependent_r) [TRAIT_EXPR]: Split out.
[BIND_EXPR]: Treat as dependent.

From-SVN: r195920

11 years agore PR other/56245 (-fsanitize=address miscompiles GCC)
Jakub Jelinek [Sat, 9 Feb 2013 18:41:00 +0000 (19:41 +0100)]
re PR other/56245 (-fsanitize=address miscompiles GCC)

PR other/56245
* regex.c (PTR_INT_TYPE): Define.
(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.

From-SVN: r195918

11 years ago* config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
David Edelsohn [Sat, 9 Feb 2013 15:52:23 +0000 (10:52 -0500)]
* config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.

From-SVN: r195917

11 years agoasan_test.C: Compile with -D__NO_INLINE__ for *-*-linux-gnu targets.
Uros Bizjak [Sat, 9 Feb 2013 15:06:08 +0000 (16:06 +0100)]
asan_test.C: Compile with -D__NO_INLINE__ for *-*-linux-gnu targets.

* g++.dg/asan/asan_test.C: Compile with -D__NO_INLINE__
for *-*-linux-gnu targets.
* g++.dg/asan/interception-test-1.c: Ditto.
* g++.dg/asan/interception-failure-test-1.C: Ditto.
* g++.dg/asan/interception-malloc-test-1.C: Ditto.

From-SVN: r195916

11 years agore PR fortran/55362 (ICE with size() on character pointer)
Paul Thomas [Sat, 9 Feb 2013 09:49:49 +0000 (09:49 +0000)]
re PR fortran/55362 (ICE with size() on character pointer)

2013-02-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55362
* check.c (array_check): It is an error if a procedure is
passed.

2013-02-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55362
* gfortran.dg/intrinsic_size_4.f90 : New test.

From-SVN: r195915

11 years agore PR target/56256 (inline asm with {|} alternatives in it no longer accepted)
Jakub Jelinek [Sat, 9 Feb 2013 09:30:45 +0000 (10:30 +0100)]
re PR target/56256 (inline asm with {|} alternatives in it no longer accepted)

PR target/56256
* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.

* gcc.target/powerpc/pr56256.c: New test.

From-SVN: r195913

11 years ago* lib/go.exp: Load timeout.exp.
Ian Lance Taylor [Sat, 9 Feb 2013 01:54:24 +0000 (01:54 +0000)]
* lib/go.exp: Load timeout.exp.

From-SVN: r195910

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

From-SVN: r195909

11 years agore PR rtl-optimization/56246 (ICE in assign_by_spills, at lra-assigns.c:1262)
Vladimir Makarov [Fri, 8 Feb 2013 21:59:11 +0000 (21:59 +0000)]
re PR rtl-optimization/56246 (ICE in assign_by_spills, at lra-assigns.c:1262)

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

PR rtl-optimization/56246
* lra-constraints.c (simplify_operand_subreg): Try tor reuse
reload pseudo.
* lra.c (lra): Clear lra_optional_reload_pseudos only when all
constraints are satisfied.

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

PR rtl-optimization/56246
* gcc.target/i386/pr56246.c: New test.

From-SVN: r195902

11 years agore PR debug/53948 (Assignment line missing for -O0 -g)
Jeff Law [Fri, 8 Feb 2013 20:03:52 +0000 (13:03 -0700)]
re PR debug/53948 (Assignment line missing for -O0 -g)

       PR debug/53948
        * emit-rtl.c (reg_is_parm_p): New function.
        * regs.h (reg_is_parm_p): New prototype.
        * ira-conflicts.c (ira_build_conflicts): Allow parameters in
        callee-clobbered registers.

       PR debug/53948
        * gcc.dg/debug/dwarf2/pr53948.c: New test.

From-SVN: r195900

11 years agore PR target/56043 (ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c)
Michael Meissner [Fri, 8 Feb 2013 19:36:04 +0000 (19:36 +0000)]
re PR target/56043 (ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c)

[gcc]
2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/56043
* config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
If there is no implicit builtin declaration, just return NULL.

[gcc/testsuite]
2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/56043
* gcc.target/powerpc/vsx-mass-1.c: Only run this test on
powerpc*-*-linux*.

From-SVN: r195898

11 years agosyscall: Always use _C_int for C libcalls.
Ian Lance Taylor [Fri, 8 Feb 2013 19:24:26 +0000 (19:24 +0000)]
syscall: Always use _C_int for C libcalls.

From-SVN: r195897

11 years agosse.md (FMAMODEM): New mode iterator.
Uros Bizjak [Fri, 8 Feb 2013 18:29:58 +0000 (19:29 +0100)]
sse.md (FMAMODEM): New mode iterator.

* config/i386/sse.md (FMAMODEM): New mode iterator.
(fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
mode iterator. Do not use TARGET_SSE_MATH in insn constraint.

From-SVN: r195896

11 years agognu-user.h (TARGET_CAN_SPLIT_STACK): Define only when HAVE_GAS_CFI_PERSONALITY_DIRECT...
Uros Bizjak [Fri, 8 Feb 2013 18:08:12 +0000 (19:08 +0100)]
gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.

* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.

From-SVN: r195895

11 years agoconfig.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
Edgar E. Iglesias [Fri, 8 Feb 2013 16:02:47 +0000 (16:02 +0000)]
config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT

gcc:
* config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
(microblaze*-*-elf): Likewise
* config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
LINK_SPEC
* config/microblaze/microblaze-c.c: Add builtin defines for _LITTLE_ENDIAN
and _BIG_ENDIAN
* config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and add to
TARGET_DEFAULT flags.
Expand ASM_SPEC and LINK_SPEC.
Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN
* config/microblaze/microblaze.md: Update extendsidi2 and movdi_internal
instructions to use low-order / high-order reg print_operands
* config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
options and inversemask / mask of LITTLE_ENDIAN
* config/microblaze/t-microblaze: Expand multilib options to include mlittle-
endian (le) and update exceptions patterns
gcc/testsuite:
20101011-1.c: Add __MICROBLAZE__ exception to set DO_TEST 0

From-SVN: r195893

11 years agore PR rtl-optimization/56195 (Error: incorrect register `%rdi' used with `l' suffix...
Jakub Jelinek [Fri, 8 Feb 2013 15:19:02 +0000 (16:19 +0100)]
re PR rtl-optimization/56195 (Error: incorrect register `%rdi' used with `l' suffix (at -O2))

PR rtl-optimization/56195
* lra-constraints.c (get_reload_reg): Don't reuse regs
if they have smaller mode than requested, if they have
wider mode than requested, try to return a SUBREG.

* gcc.dg/torture/pr56195.c: New test.

From-SVN: r195891

11 years agore PR fortran/54107 ([F03] Memory hog with abstract interface)
Mikael Morin [Fri, 8 Feb 2013 15:13:32 +0000 (15:13 +0000)]
re PR fortran/54107 ([F03] Memory hog with abstract interface)

fortran/
PR fortran/54107
* trans-types.c (gfc_get_function_type): Change a NULL backend_decl
to error_mark_node on entry.  Detect recursive types.  Build a variadic
procedure type if the type is recursive.  Restore the initial
backend_decl.

testsuite/
PR fortran/54107
* gfortran.dg/recursive_interface_2.f90: New test.

From-SVN: r195890

11 years agore PR tree-optimization/56250 (Wrong constant folding on unsigned int)
Jakub Jelinek [Fri, 8 Feb 2013 15:06:26 +0000 (16:06 +0100)]
re PR tree-optimization/56250 (Wrong constant folding on unsigned int)

PR tree-optimization/56250
* fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
if type is unsigned and code isn't MULT_EXPR.

* gcc.c-torture/execute/pr56250.c: New test.

From-SVN: r195888

11 years agore PR libstdc++/56216 (TR1 bessel functions bomb at x == 0!)
Edward Smith-Rowland [Fri, 8 Feb 2013 14:10:48 +0000 (14:10 +0000)]
re PR libstdc++/56216 (TR1 bessel functions bomb at x == 0!)

PR libstdc++/56216

From-SVN: r195886

11 years agore PR tree-optimization/56064 (Optimize VIEW_CONVERT_EXPR with FIXED_CST)
Georg-Johann Lay [Fri, 8 Feb 2013 13:23:34 +0000 (13:23 +0000)]
re PR tree-optimization/56064 (Optimize VIEW_CONVERT_EXPR with FIXED_CST)

gcc/
PR tree-optimization/56064
* fixed-value.c (fixed_from_double_int): Sign/zero extend payload
bits according to mode.
* fixed-value.h (fixed_from_double_int)
(const_fixed_from_double_int): Adjust comments.

gcc/testsuite/
PR tree-optimization/56064
* gcc.dg/fixed-point/view-convert-2.c: New test.

From-SVN: r195885

11 years agore PR middle-end/56231 (warning traces have bogus line information when using LTO)
Richard Biener [Fri, 8 Feb 2013 12:55:13 +0000 (12:55 +0000)]
re PR middle-end/56231 (warning traces have bogus line information when using LTO)

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

PR lto/56231
* lto-streamer.h (struct data_in): Remove current_file, current_line
and current_col members.
* lto-streamer-out.c (lto_output_location): Stream changed bits
en-block for efficiency.
* lto-streamer-in.c (clear_line_info): Remove.
(lto_input_location): Cache current file, line and column
globally via local statics.  Read changed bits en-block.
(input_function): Do not call clear_line_info.
(lto_read_body): Likewise.
(lto_input_toplevel_asms): Likewise.

lto/
* lto-lang.c (lto_init): Do not enter a dummy file.

From-SVN: r195884

11 years agore PR tree-optimization/52448 (cselim broken with calls)
Michael Matz [Fri, 8 Feb 2013 12:31:19 +0000 (12:31 +0000)]
re PR tree-optimization/52448 (cselim broken with calls)

PR tree-optimization/52448

* tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
(nt_call_phase): New static.
(add_or_mark_expr): Only mark accesses with newer phase than any
call seen.
(nonfreeing_call_p): New.
(nt_init_block): Update nt_call_phase, mark blocks as visited.
(nt_fini_block): Keep blocks marked as visited.
(get_non_trapping): Initialize nt_call_phase, and reset aux pointer.

testsuite/
PR tree-optimization/52448
* gcc.dg/pr52448.c: New test.

From-SVN: r195883

11 years agoira.c (ira): Free broken dominator information.
Richard Biener [Fri, 8 Feb 2013 12:10:48 +0000 (12:10 +0000)]
ira.c (ira): Free broken dominator information.

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

* ira.c (ira): Free broken dominator information.

From-SVN: r195882

11 years agoi386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
Uros Bizjak [Fri, 8 Feb 2013 12:06:03 +0000 (13:06 +0100)]
i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.

* config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.

From-SVN: r195881

11 years agoAdd more checking of headers.
Marek Polacek [Fri, 8 Feb 2013 11:39:01 +0000 (11:39 +0000)]
Add more checking of headers.

From-SVN: r195880

11 years agore PR rtl-optimization/56181 (ICE in verify_loop_structure, at cfgloop.c:1581 with...
Richard Biener [Fri, 8 Feb 2013 11:00:26 +0000 (11:00 +0000)]
re PR rtl-optimization/56181 (ICE in verify_loop_structure, at cfgloop.c:1581 with -ftracer)

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

PR middle-end/56181
* cfgloop.h (flow_loops_find): Adjust.
(bb_loop_header_p): Declare.
* cfgloop.c (bb_loop_header_p): New function split out from ...
(flow_loops_find): ... here.  Adjust function signature,
support incremental loop structure update.
(verify_loop_structure): Cleanup.  Verify a loop is a loop.
* cfgloopmanip.c (fix_loop_structure): Move ...
* loop-init.c (fix_loop_structure): ... here.
(apply_loop_flags): Split out from ...
(loop_optimizer_init): ... here.
(fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
in incremental mode, only remove dead loops here.

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

From-SVN: r195879

11 years agore PR target/54222 ([avr] Implement fixed-point support)
Georg-Johann Lay [Fri, 8 Feb 2013 10:13:37 +0000 (10:13 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)

gcc/
PR target/54222
* config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
* config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
(round<mode>3, round<mode>3_const): New expanders for fixed-mode.
(*round<mode>3.libgcc): New insns for fixed-modes.
* config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
(ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
(ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
* config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
implementations.  Define to __builtin_avr_absFX,
__builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
(roundFX, countlsFX): Define to __builtin_avr_roundFX,
__builtin_avr_countlsFX, respectively.
* config/avr/avr-c.c (target.h): Include it.
(enum avr_builtin_id): New enum.
(avr_resolve_overloaded_builtin): New static function.
(avr_register_target_pragmas): Use it to set
targetm.resolve_overloaded_builtin.
* config/avr/avr.c (avr_init_builtins): Supply myriads of local
tree nodes used by DEF_BUILTIN.
(avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
(avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
<AVR_BUILTIN_xxBITS>: Same.

libgcc/
PR target/54222
* config/avr/lib2funcs.c: New C sources for modules for libgcc.a.
* config/avr/lib2-object.mk: New iterator to build objects from it.
* config/avr/t-avr: Iterate lib2-object.mk to build objects from
lib2funcs.c.
(LIB2FUNCS_EXCLUDE): Add _clrsbdi2.
(LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3,
_round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4,
_round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3
_roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3.
* config/avr/lib1funcs-fixed.S: Implement them.

gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/builtins-4-roundfx.c: New test.
* gcc.target/avr/torture/builtins-5-countlsfx.c: New test.

From-SVN: r195878

11 years agocfgloop.c (verify_loop_structure): Properly handle a loop exiting to another loop...
Richard Biener [Fri, 8 Feb 2013 09:09:38 +0000 (09:09 +0000)]
cfgloop.c (verify_loop_structure): Properly handle a loop exiting to another loop header.

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

* cfgloop.c (verify_loop_structure): Properly handle
a loop exiting to another loop header.
* ira-int.h (ira_loops): Remove.
* ira.c (ira_loops): Remove.
(ira): Use loop_optimizer_init and loop_optimizer_finalize.
(do_reload): Use loop_optimizer_finalize.
* ira-build.c (create_loop_tree_nodes): Use get_loops and
number_of_loops to access the loop tree.
(more_one_region_p): Likewise.
(finish_loop_tree_nodes): Likewise.
(rebuild_regno_allocno_maps): Likewise.
(mark_loops_for_removal): Likewise.
(mark_all_loops_for_removal): Likewise.
(remove_unnecessary_regions): Likewise.
(ira_build): Likewise.
* ira-emit.c (setup_entered_from_non_parent_p): Likewise.

From-SVN: r195877

11 years agoMakefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
Richard Biener [Fri, 8 Feb 2013 09:07:49 +0000 (09:07 +0000)]
Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.

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

* Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
* ipa-pure-const.c (analyze_function): Avoid calling
mark_irreducible_loops twice.
* tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops
for fixup.

From-SVN: r195876

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

From-SVN: r195874

11 years agoFix variable tracking for leaf functions on sparc.
David S. Miller [Thu, 7 Feb 2013 23:19:27 +0000 (23:19 +0000)]
Fix variable tracking for leaf functions on sparc.

* dwarf2out.c (based_loc_descr): Perform leaf register remapping
on 'reg'.
* var-tracking.c (vt_add_function_parameter): Test the presence of
HAVE_window_save properly and do not remap argument registers when
we have a leaf function.

From-SVN: r195869

11 years agoruntime: Change main in goc2c to return int.
Ian Lance Taylor [Thu, 7 Feb 2013 22:24:34 +0000 (22:24 +0000)]
runtime: Change main in goc2c to return int.

From Uros Bizjak.

From-SVN: r195868

11 years agore PR go/56173 (Several libgo tests FAIL on Solaris/SPARC)
Ian Lance Taylor [Thu, 7 Feb 2013 21:40:10 +0000 (21:40 +0000)]
re PR go/56173 (Several libgo tests FAIL on Solaris/SPARC)

PR go/56173
crypto/md5: fix for big-endian processors

From-SVN: r195867

11 years agore PR c++/56241 (ICE in toplev.c:332 on invalid)
Jakub Jelinek [Thu, 7 Feb 2013 21:27:55 +0000 (22:27 +0100)]
re PR c++/56241 (ICE in toplev.c:332 on invalid)

PR c++/56241
* init.c (build_vec_init): Don't append NULL values into new_vec.
(build_zero_init_1): Don't push anything into v if recursive call
returned NULL_TREE.
(build_value_init_noctor): Don't push anything into v if
build_value_init call returned NULL_TREE.

* g++.dg/parse/crash61.C: New test.

From-SVN: r195866

11 years agore PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
Simon Wright [Thu, 7 Feb 2013 18:07:18 +0000 (18:07 +0000)]
re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)

PR target/50678
* init.c (__darwin_major_version): New function for x86-64/Darwin.
(__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
on Darwin 12 and above.

From-SVN: r195862

11 years agolibgo: Correct test for whether to use DejaGNU.
Ian Lance Taylor [Thu, 7 Feb 2013 18:01:54 +0000 (18:01 +0000)]
libgo: Correct test for whether to use DejaGNU.

From-SVN: r195861

11 years agore PR bootstrap/56227 (Bootstrap failure on MinGW building ggc-page.c)
Uros Bizjak [Thu, 7 Feb 2013 18:01:40 +0000 (19:01 +0100)]
re PR bootstrap/56227 (Bootstrap failure on MinGW building ggc-page.c)

PR bootstrap/56227
* ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
instead of "ll".
* config/i386/i386.c (ix86_print_operand): Ditto.

lto/ChangeLog:

PR bootstrap/56227
* lto.c (lto_resolution_ready): Use %wx instead of
HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.

From-SVN: r195860

11 years agore PR c++/56239 (parse error calling operator() on parenthesized value-initialized...
Jakub Jelinek [Thu, 7 Feb 2013 17:49:59 +0000 (18:49 +0100)]
re PR c++/56239 (parse error calling operator() on parenthesized value-initialized temporary)

PR c++/56239
* parser.c (cp_parser_token_starts_cast_expression): Renamed to...
(cp_parser_tokens_start_cast_expression): ... this.  Change parameter
to cp_parser *, call cp_lexer_peek_token first.  For CPP_OPEN_PAREN,
return true only if 2nd token isn't CPP_CLOSE_PAREN.
(cp_parser_cast_expression): Adjust caller.

* g++.dg/parse/pr56239.C: New test.

From-SVN: r195859

11 years agore PR c++/56237 (ICE in lang_* check: failed in push_local_name, at cp/decl.c:924)
Jakub Jelinek [Thu, 7 Feb 2013 17:38:33 +0000 (18:38 +0100)]
re PR c++/56237 (ICE in lang_* check: failed in push_local_name, at cp/decl.c:924)

PR c++/56237
* decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
only if DECL_DISCRIMINATOR_SET_P (t) rather than just
DECL_LANG_SPECIFIC (t).

* g++.dg/abi/mangle61.C: New test.

From-SVN: r195858

11 years agolra-constraints.c (process_alt_operands): Fix recently added comment.
Vladimir Makarov [Thu, 7 Feb 2013 17:20:26 +0000 (17:20 +0000)]
lra-constraints.c (process_alt_operands): Fix recently added comment.

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

* lra-constraints.c (process_alt_operands): Fix recently added
comment.

From-SVN: r195857

11 years agore PR rtl-optimization/56225 (ICE in lra-constraints.c when executing the testsuite...
Vladimir Makarov [Thu, 7 Feb 2013 17:15:02 +0000 (17:15 +0000)]
re PR rtl-optimization/56225 (ICE in lra-constraints.c when executing the testsuite with -m32 -march=pentium3)

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

PR rtl-optimization/56225
* lra-constraints.c (process_alt_operands): Check that reload hard
reg can hold value for strict_low_part.

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

PR rtl-optimization/56225
* gcc.target/i386/pr56225.c: New test.

From-SVN: r195856

11 years agore PR go/56172 (net FAILs on Solaris)
Ian Lance Taylor [Thu, 7 Feb 2013 17:04:24 +0000 (17:04 +0000)]
re PR go/56172 (net FAILs on Solaris)

PR go/56172
net: Skip TestMulticastListener on Solaris

From Rainer Orth.

From-SVN: r195855

11 years agore PR c++/56235 (Bogus "error: invalid conversion from ‘unsigned char’ to ‘B::Mode...
Jason Merrill [Thu, 7 Feb 2013 16:32:28 +0000 (11:32 -0500)]
re PR c++/56235 (Bogus "error: invalid conversion from ‘unsigned char’ to ‘B::Mode’ [-fpermissive]")

PR c++/56235
* method.c (do_build_copy_constructor): Don't bother turning
scalars from lvalues to xvalues.
(do_build_copy_assign): Likewise.

From-SVN: r195854

11 years agopr56193.cc: Tweak.
Paolo Carlini [Thu, 7 Feb 2013 15:20:58 +0000 (15:20 +0000)]
pr56193.cc: Tweak.

2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/27_io/basic_ios/pr56193.cc: Tweak.

From-SVN: r195852

11 years agoAdd the full Copyright blurb on the PR56193 test.
Edward Smith-Rowland [Thu, 7 Feb 2013 15:11:11 +0000 (15:11 +0000)]
Add the full Copyright blurb on the PR56193 test.

From-SVN: r195851

11 years agore PR debug/56154 (Bad .debug_loc generated for some code)
Jakub Jelinek [Thu, 7 Feb 2013 14:48:39 +0000 (15:48 +0100)]
re PR debug/56154 (Bad .debug_loc generated for some code)

PR debug/56154
* dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
dwarf2out_end_function.
(in_first_function_p, maybe_at_text_label_p,
first_loclabel_num_not_at_text_label): New variables.
(dwarf2out_var_location): In the first function find out
lowest loclabel_num N where .LVLN is known not to be equal
to .Ltext0.
(find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
functions.

* gcc.dg/guality/pr56154-1.c: New test.
* gcc.dg/guality/pr56154-2.c: New test.
* gcc.dg/guality/pr56154-3.c: New test.
* gcc.dg/guality/pr56154-4.c: New test.
* gcc.dg/guality/pr56154-aux.c: New file.

From-SVN: r195850

11 years agoPR56193 - Wrong test operator for basic_ios in C++11.
Edward Smith-Rowland [Thu, 7 Feb 2013 14:27:45 +0000 (14:27 +0000)]
PR56193 - Wrong test operator for basic_ios in C++11.

From-SVN: r195849

11 years agore PR fortran/54339 (Update gfortran manual for GCC 4.8's TS29113 changes)
Tobias Burnus [Thu, 7 Feb 2013 11:08:20 +0000 (12:08 +0100)]
re PR fortran/54339 (Update gfortran manual for GCC 4.8's TS29113 changes)

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

        PR fortran/54339
        * gfortran.texi (Standards): Mention TS29113.
        (Varying Length Character): Mention deferred-length
        strings.
        (Fortran 2003 Status): Add unlimited polymorphic.
        (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
        (C Interop): Update the section about TS29113.

From-SVN: r195845