platform/upstream/linaro-gcc.git
11 years agolibsanitizer merge from upstream r175049
kcc [Wed, 13 Feb 2013 10:46:01 +0000 (10:46 +0000)]
libsanitizer merge from upstream r175049

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196009 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[asan] Avoid instrumenting duplicated memory access in the same basic block
dodji [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196008 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196005 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR target/52122
ktietz [Wed, 13 Feb 2013 10:19:26 +0000 (10:19 +0000)]
PR target/52122
* Makefile.in (LN_S_RECUSIVE): New.
(adainclude, adalib): Use LN_S_RECURSIVE for copy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196002 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196001 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-13 Richard Biener <rguenther@suse.de>
rguenth [Wed, 13 Feb 2013 09:38:09 +0000 (09:38 +0000)]
2013-02-13  Richard Biener  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195998 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195995 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56285
jason [Tue, 12 Feb 2013 20:47:15 +0000 (20:47 +0000)]
PR c++/56285
* method.c (add_one_base_init): Handle base constructor
taking rvalue reference parm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195990 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195989 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Tue, 12 Feb 2013 17:44:47 +0000 (17:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195988 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56291
jason [Tue, 12 Feb 2013 17:36:58 +0000 (17:36 +0000)]
PR c++/56291
* semantics.c (sort_constexpr_mem_initializers): Handle
vptr out of order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195986 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195985 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Dominique d'Humieres <dominiq@lps.ens.fr>
burnus [Tue, 12 Feb 2013 16:22:13 +0000 (16:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195984 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/52122
ktietz [Tue, 12 Feb 2013 15:32:01 +0000 (15:32 +0000)]
    PR target/52122
        * Makefile.in (LN_S_RECUSIVE): New.
        (adainclude, adalib): Use LN_S_RECURSIVE for copy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195980 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Feb 2013 15:14:32 +0000 (15:14 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195979 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
gjl [Tue, 12 Feb 2013 14:55:16 +0000 (14:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195978 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-05 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Tue, 12 Feb 2013 14:53:45 +0000 (14:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195977 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Feb 2013 14:04:44 +0000 (14:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195976 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 12 Feb 2013 12:15:26 +0000 (12:15 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195975 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 12 Feb 2013 12:01:14 +0000 (12:01 +0000)]
2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195974 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Feb 2013 11:18:05 +0000 (11:18 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195973 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/56151
jakub [Tue, 12 Feb 2013 10:37:38 +0000 (10:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195972 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago libstdc++-v3/
jules [Tue, 12 Feb 2013 10:32:01 +0000 (10:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195971 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 12 Feb 2013 10:26:54 +0000 (10:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195970 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/extend.texi: Document Function Multiversioning and "default"
tmsriram [Tue, 12 Feb 2013 06:50:32 +0000 (06:50 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195967 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 12 Feb 2013 00:39:38 +0000 (00:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195966 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195965 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 11 Feb 2013 23:42:43 +0000 (23:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195961 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/libgcc
mrs [Mon, 11 Feb 2013 23:30:10 +0000 (23:30 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195960 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Mon, 11 Feb 2013 23:24:26 +0000 (23:24 +0000)]
2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>

* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195959 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Jack Howarth <howarth@bromo.med.uc.edu>
mrs [Mon, 11 Feb 2013 23:13:37 +0000 (23:13 +0000)]
2013-02-11  Jack Howarth  <howarth@bromo.med.uc.edu>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195958 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
dje [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195957 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Alexander Potapenko <glider@google.com>
mrs [Mon, 11 Feb 2013 22:36:23 +0000 (22:36 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195956 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoSync plugin-api.h with the copy in binutils. Please see:
tmsriram [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195953 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR go/56171
ian [Mon, 11 Feb 2013 19:03:04 +0000 (19:03 +0000)]
PR go/56171
libgo: Solaris portability for syscall package.

From Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195950 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
jason [Mon, 11 Feb 2013 17:50:13 +0000 (17:50 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195948 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/56275
uros [Mon, 11 Feb 2013 16:05:44 +0000 (16:05 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195944 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56268
jason [Mon, 11 Feb 2013 15:47:46 +0000 (15:47 +0000)]
PR c++/56268
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
maybe_instantiate_noexcept.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195943 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Feb 2013 15:08:51 +0000 (15:08 +0000)]
2013-02-11  Richard Biener  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195942 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Feb 2013 15:07:40 +0000 (15:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195941 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Feb 2013 13:33:19 +0000 (13:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195940 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 11 Feb 2013 10:30:43 +0000 (10:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195939 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-10 François Dumont <fdumont@gcc.gnu.org>
redi [Mon, 11 Feb 2013 00:19:41 +0000 (00:19 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195937 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libstdc++/56267
redi [Mon, 11 Feb 2013 00:19:29 +0000 (00:19 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195936 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libstdc++/56278
redi [Mon, 11 Feb 2013 00:19:14 +0000 (00:19 +0000)]
PR libstdc++/56278
* include/bits/hashtable_policy.h (_Hash_code_base): Make default
constructor public.
* testsuite/23_containers/unordered_set/56278.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195935 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195934 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195931 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195930 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR go/56017
ian [Sat, 9 Feb 2013 23:19:33 +0000 (23:19 +0000)]
PR go/56017
libgo testsuite: If using DejaGNU, don't frob the log file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195927 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR go/56017
ian [Sat, 9 Feb 2013 23:02:09 +0000 (23:02 +0000)]
PR go/56017
libgo DejaGNU testsuite: Load timeout.exp before go.exp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195926 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-09 François Dumont <fdumont@gcc.gnu.org>
fdumont [Sat, 9 Feb 2013 20:55:12 +0000 (20:55 +0000)]
2013-02-09  François Dumont  <fdumont@gcc.gnu.org>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195925 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56247
jason [Sat, 9 Feb 2013 20:39:13 +0000 (20:39 +0000)]
PR c++/56247
* pt.c (eq_specializations): Set comparing_specializations.
* tree.c (cp_tree_equal): Check it.
* cp-tree.h: Declare it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195922 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195921 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56238
jason [Sat, 9 Feb 2013 20:38:33 +0000 (20:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195920 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR other/56245
jakub [Sat, 9 Feb 2013 18:41:00 +0000 (18:41 +0000)]
PR other/56245
* regex.c (PTR_INT_TYPE): Define.
(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195918 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195917 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * g++.dg/asan/asan_test.C: Compile with -D__NO_INLINE__
uros [Sat, 9 Feb 2013 15:06:08 +0000 (15:06 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195916 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-09 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 9 Feb 2013 09:49:49 +0000 (09:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195915 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/56256
jakub [Sat, 9 Feb 2013 09:30:45 +0000 (09:30 +0000)]
PR target/56256
* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195913 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195910 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195909 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-08 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 8 Feb 2013 21:59:11 +0000 (21:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195902 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR debug/53948
law [Fri, 8 Feb 2013 20:03:52 +0000 (20:03 +0000)]
   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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195900 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[gcc]
meissner [Fri, 8 Feb 2013 19:36:04 +0000 (19:36 +0000)]
[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*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195898 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195897 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/sse.md (FMAMODEM): New mode iterator.
uros [Fri, 8 Feb 2013 18:29:58 +0000 (18:29 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195896 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
uros [Fri, 8 Feb 2013 18:08:12 +0000 (18:08 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195895 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc:
eager [Fri, 8 Feb 2013 16:02:47 +0000 (16:02 +0000)]
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195893 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/56195
jakub [Fri, 8 Feb 2013 15:19:02 +0000 (15:19 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195891 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agofortran/
mikael [Fri, 8 Feb 2013 15:13:32 +0000 (15:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195890 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/56250
jakub [Fri, 8 Feb 2013 15:06:26 +0000 (15:06 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195888 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR libstdc++/56216
emsr [Fri, 8 Feb 2013 14:10:48 +0000 (14:10 +0000)]
PR libstdc++/56216

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195886 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
gjl [Fri, 8 Feb 2013 13:23:34 +0000 (13:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195885 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Feb 2013 12:55:13 +0000 (12:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195884 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/52448
matz [Fri, 8 Feb 2013 12:31:19 +0000 (12:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195883 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Feb 2013 12:10:48 +0000 (12:10 +0000)]
2013-02-08  Richard Biener  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195882 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
uros [Fri, 8 Feb 2013 12:06:03 +0000 (12:06 +0000)]
* config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195881 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195880 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Feb 2013 11:00:26 +0000 (11:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195879 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
gjl [Fri, 8 Feb 2013 10:13:37 +0000 (10:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195878 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Feb 2013 09:09:38 +0000 (09:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195877 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Feb 2013 09:07:49 +0000 (09:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195876 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195874 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix variable tracking for leaf functions on sparc.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195869 138bc75d-0d04-0410-961f-82ee72b054a4

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

From Uros Bizjak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195868 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR go/56173
ian [Thu, 7 Feb 2013 21:40:10 +0000 (21:40 +0000)]
PR go/56173
crypto/md5: fix for big-endian processors

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195867 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56241
jakub [Thu, 7 Feb 2013 21:27:55 +0000 (21:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195866 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/50678
ebotcazou [Thu, 7 Feb 2013 18:07:18 +0000 (18:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195862 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195861 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR bootstrap/56227
uros [Thu, 7 Feb 2013 18:01:40 +0000 (18:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195860 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56239
jakub [Thu, 7 Feb 2013 17:49:59 +0000 (17:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195859 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56237
jakub [Thu, 7 Feb 2013 17:38:33 +0000 (17:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195858 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-07 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 7 Feb 2013 17:20:26 +0000 (17:20 +0000)]
2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195857 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-07 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 7 Feb 2013 17:15:02 +0000 (17:15 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195856 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR go/56172
ian [Thu, 7 Feb 2013 17:04:24 +0000 (17:04 +0000)]
PR go/56172
net: Skip TestMulticastListener on Solaris

From Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195855 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56235
jason [Thu, 7 Feb 2013 16:32:28 +0000 (16:32 +0000)]
PR c++/56235
* method.c (do_build_copy_constructor): Don't bother turning
scalars from lvalues to xvalues.
(do_build_copy_assign): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195854 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 7 Feb 2013 15:20:58 +0000 (15:20 +0000)]
2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195852 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195851 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR debug/56154
jakub [Thu, 7 Feb 2013 14:48:39 +0000 (14:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195850 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195849 138bc75d-0d04-0410-961f-82ee72b054a4