Jason Merrill [Fri, 25 Jan 2013 20:01:29 +0000 (15:01 -0500)]
re PR c++/56095 (Crash casting function pointer as non-type template argument)
PR c++/56095
* pt.c (convert_nontype_argument_function): Handle invalid input.
(convert_nontype_argument): Likewise.
From-SVN: r195474
Georg-Johann Lay [Fri, 25 Jan 2013 18:57:49 +0000 (18:57 +0000)]
invoke.texi (AVR Built-in Macros): Document __XMEGA__.
* doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
From-SVN: r195473
Georg-Johann Lay [Fri, 25 Jan 2013 18:11:53 +0000 (18:11 +0000)]
extend.texi (Example of asm with clobbered asm reg): Fix missing ':' in asm example.
* doc/extend.texi (Example of asm with clobbered asm reg): Fix
missing ':' in asm example.
From-SVN: r195471
Jason Merrill [Fri, 25 Jan 2013 17:55:09 +0000 (12:55 -0500)]
re PR c++/56104 (Wrong "dereferencing type-punned pointer" warning)
PR c++/56104
* typeck.c (get_member_function_from_ptrfunc): Optimize if the
dynamic type has no virtual functions.
From-SVN: r195470
Tejas Belagod [Fri, 25 Jan 2013 11:35:03 +0000 (11:35 +0000)]
aarch64-simd-builtins.def: Separate sq<r>dmulh_lane entries into lane and laneq entries.
2013-01-25 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
entries into lane and laneq entries.
* config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>): Remove
AdvSIMD scalar modes.
(aarch64_sq<r>dmulh_laneq<mode>): New.
(aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
modes.
* config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
builtin implementations to relfect changes in RTL in aarch64-simd.md.
* config/aarch64/iterators.md (VCOND): New.
(VCONQ): New.
From-SVN: r195467
Georg-Johann Lay [Fri, 25 Jan 2013 09:28:09 +0000 (09:28 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
gcc/
PR target/54222
* config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
Add NULL LIBNAME argument to existing definitions.
(ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
* config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
* config/avr/avr.c (DEF_BUILTIN): Same.
(avr_init_builtins): Pass down LIBNAME to add_builtin_function.
(avr_expand_builtin): Expand to a vanilla call if a libgcc
implementation is available (DECL_ASSEMBLER_NAME is set).
(avr_fold_absfx): New static function.
(avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
AVR_BUILTIN_ABSLLK.
* config/avr/stdfix.h (abshr, absr, abslr, absllr)
(abshk, absk, abslk, absllk): Provide as static inline functions.
gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/builtins-3-absfx.c: New test.
From-SVN: r195464
Marek Polacek [Fri, 25 Jan 2013 08:52:02 +0000 (08:52 +0000)]
Fix PR56035.
From-SVN: r195462
Eric Botcazou [Fri, 25 Jan 2013 08:16:57 +0000 (08:16 +0000)]
Remove conflict marker
From-SVN: r195461
Maxim Kuvyrkov [Fri, 25 Jan 2013 04:00:31 +0000 (04:00 +0000)]
* MAINTAINERS: Update my email.
From-SVN: r195459
GCC Administrator [Fri, 25 Jan 2013 00:18:31 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195451
Uros Bizjak [Thu, 24 Jan 2013 22:50:43 +0000 (23:50 +0100)]
i386.md (*movti_internal_rex64): Add (o,e) alternative.
* config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
(*movtf_internal_rex64): Add (!o,C) alternative
(*movxf_internal_rex64): Ditto.
(*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
From-SVN: r195446
Richard Sandiford [Thu, 24 Jan 2013 21:45:55 +0000 (21:45 +0000)]
bind_c_array_params_2.f90: Require -mno-relax-pic-calls for MIPS.
gcc/testsuite/
* gfortran.dg/bind_c_array_params_2.f90: Require -mno-relax-pic-calls
for MIPS.
From-SVN: r195443
Richard Sandiford [Thu, 24 Jan 2013 21:40:54 +0000 (21:40 +0000)]
octeon-pipe-1.c: Add -ffat-lto-objects
gcc/testsuite/
* gcc.target/mips/octeon-pipe-1.c: Add -ffat-lto-objects
From-SVN: r195441
Ian Lance Taylor [Thu, 24 Jan 2013 19:44:23 +0000 (19:44 +0000)]
re PR go/46986 (Go is not supported on Darwin)
PR go/46986
all: prepend #__USER_LABEL_PREFIX__ to mangled Go symbols
For old-fashioned Darwin.
From-SVN: r195438
Shenghou Ma [Thu, 24 Jan 2013 18:51:49 +0000 (18:51 +0000)]
invoke.texi: fix typo.
* doc/invoke.texi: fix typo.
* doc/objc.texi: fix typo.
From-SVN: r195437
Ian Lance Taylor [Thu, 24 Jan 2013 18:12:23 +0000 (18:12 +0000)]
re PR go/46986 (Go is not supported on Darwin)
PR go/46986
libgo/Makefile, libgo/go/os/stat_atimespec.go: fix typos
From-SVN: r195436
Richard Sandiford [Thu, 24 Jan 2013 17:46:41 +0000 (17:46 +0000)]
mips.md (*and<mode>3_mips16): Use the "W" constraint for the first two alternatives.
gcc/
* config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
for the first two alternatives.
From-SVN: r195433
Jakub Jelinek [Thu, 24 Jan 2013 16:59:44 +0000 (17:59 +0100)]
re PR c/56078 (causes cc1 to crash)
PR c/56078
* c-typeck.c (set_nonincremental_init_from_string): If
constructor_max_index is NULL, treat it as if tree_int_cst_lt
returned false.
(process_init_element): Likewise.
* gcc.dg/pr56078.c: New test.
* gcc.c-torture/compile/
20030305-1.c: Add dg-error lines.
From-SVN: r195432
Martin Jambor [Thu, 24 Jan 2013 16:18:26 +0000 (17:18 +0100)]
re PR tree-optimization/55927 (FAIL: g++.dg/ipa/devirt-10.C -std=gnu++11 scan-ipa-dump-times inline "Discovered a virtual call to a known target" 1)
2013-01-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55927
* g++.dg/ipa/devirt-10.C: Disable early inlining.
From-SVN: r195430
Diego Novillo [Thu, 24 Jan 2013 15:13:46 +0000 (10:13 -0500)]
Remove zone allocator.
This patch removes the GC zone allocator. It is not used and it
produces several regressions in the testsuite. Furthermore, it
complicates things for the plan to implement manual GC markers
(http://gcc.gnu.org/wiki/cxx-conversion/gc-alternatives#Do_GC_marking_manually).
Tested on x86_64 with standard checking, --enable-checking=gc and
--enable-checking=release.
From-SVN: r195426
Georg-Johann Lay [Thu, 24 Jan 2013 13:27:11 +0000 (13:27 +0000)]
avr.c (avr_out_fract): Make register numbers that might be outside of source operand signed.
* config/avr/avr.c (avr_out_fract): Make register numbers that
might be outside of source operand signed.
From-SVN: r195424
Uros Bizjak [Thu, 24 Jan 2013 13:03:40 +0000 (14:03 +0100)]
constraints.md (Yf): New constraint.
* config/i386/constraints.md (Yf): New constraint.
* config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
of f constraint to conditionaly disable x87 register preferences.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.
testsuite/ChangeLog:
* gcc.target/i386/movsd.c: New test.
From-SVN: r195423
Paolo Carlini [Thu, 24 Jan 2013 12:20:57 +0000 (12:20 +0000)]
re PR libstdc++/56085 (Unsafe negation in C++03 pow(complex,int))
2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56085
* include/std/complex (pow(const complex<>&, int)): Avoid __n
signed overflow.
From-SVN: r195421
Steven Bosscher [Thu, 24 Jan 2013 10:30:26 +0000 (10:30 +0000)]
re PR inline-asm/55934 (LRA inline asm error recovery)
gcc/
PR inline-asm/55934
* lra-assigns.c (assign_by_spills): Throw away the pattern of asms
that have operands with impossible constraints.
Add a FIXME for a speed-up opportunity.
* lra-constraints.c (process_alt_operands): Verify that a class
selected from constraints on asms is valid for the operand mode.
(curr_insn_transform): Remove incorrect comment.
testsuite/
PR inline-asm/55934
* gcc.target/i386/pr55934.c: New test.
From-SVN: r195420
GCC Administrator [Thu, 24 Jan 2013 00:19:41 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r195417
Shenghou Ma [Wed, 23 Jan 2013 22:37:01 +0000 (22:37 +0000)]
isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.
* config/isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.
* configure: Re-generate.
From-SVN: r195414
Janne Blomqvist [Wed, 23 Jan 2013 21:56:54 +0000 (23:56 +0200)]
Improve performance of byte-swapped I/O.
2013-01-23 Janne Blomqvist <jb@gcc.gnu.org>
* io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX
instead of reverse_memcpy.
* io/io.h (reverse_memcpy): Remove prototype.
* io/transfer.c (reverse_memcpy): Make static, move towards
beginning of file.
(bswap_array): New function.
(unformatted_read): Use bswap_array to byte swap the data
in-place.
(unformatted_write): Use a larger temp buffer and bswap_array.
(us_read): Use __builtin_bswapXX instead of reverse_memcpy.
(write_us_marker): Likewise.
From-SVN: r195413
Janus Weil [Wed, 23 Jan 2013 21:38:40 +0000 (22:38 +0100)]
re PR fortran/56081 (Seg fault ICE on select with bad case)
2013-01-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/56081
* resolve.c (resolve_select): Add argument 'select_type', reject
non-scalar expressions.
(resolve_select_type,resolve_code): Pass new argument to
'resolve_select'.
2013-01-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/56081
* gfortran.dg/select_8.f90: New.
From-SVN: r195412
Uros Bizjak [Wed, 23 Jan 2013 19:08:45 +0000 (20:08 +0100)]
* ChangeLog: Add missing entry.
From-SVN: r195411
Uros Bizjak [Wed, 23 Jan 2013 19:03:35 +0000 (20:03 +0100)]
i386.md (*movdf_internal_rex64): Disparage alternatives involving stack registers slightly.
* config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
involving stack registers slightly.
From-SVN: r195410
David Edelsohn [Wed, 23 Jan 2013 16:24:54 +0000 (11:24 -0500)]
rs6000.c (rs6000_delegitimize_address): Check that TOC operand is a valid symbol ref in the constant pool.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
TOC operand is a valid symbol ref in the constant pool.
From-SVN: r195409
Edgar E. Iglesias [Wed, 23 Jan 2013 15:24:52 +0000 (15:24 +0000)]
Add TARGET_OS_CPP_BUILTINS for microblaze*-linux
From-SVN: r195408
Georg-Johann Lay [Wed, 23 Jan 2013 15:13:51 +0000 (15:13 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
PR target/54222
* config/avr/stdfix.h: New file.
* t-avr (stdfix-gcc.h): New rule to build it.
(EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
From-SVN: r195407
David Holsgrove [Wed, 23 Jan 2013 15:12:03 +0000 (15:12 +0000)]
Remove obsolete check for target_config_cflags, no longer set.
From-SVN: r195406
Kostya Serebryany [Wed, 23 Jan 2013 11:41:33 +0000 (11:41 +0000)]
libsanitizer merge from upstream r173241
From-SVN: r195404
Jakub Jelinek [Wed, 23 Jan 2013 08:43:50 +0000 (09:43 +0100)]
re PR fortran/56052 ([OOP] ICE in omp_add_variable, at gimplify.c:5606)
PR fortran/56052
* trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
and DECL_IGNORED_P on select_type_temporary and don't set
DECL_BY_REFERENCE.
* gfortran.dg/gomp/pr56052.f90: New test.
From-SVN: r195399
Jakub Jelinek [Wed, 23 Jan 2013 08:37:16 +0000 (09:37 +0100)]
re PR target/49069 (ICE in gen_cstoredi4, at config/arm/arm.md:7554)
PR target/49069
* config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
instead of cmpdi_operand for first comparison operand.
Don't assert that comparison operands aren't both constants.
* gcc.dg/pr49069.c: New test.
From-SVN: r195398
GCC Administrator [Wed, 23 Jan 2013 00:18:41 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195396
Paolo Carlini [Tue, 22 Jan 2013 23:38:34 +0000 (23:38 +0000)]
re PR c++/55944 ([C++11] static local member with constexpr c'tor causes ICE)
/cp
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55944
* decl.c (check_initializer): Use TARGET_EXPR_DIRECT_INIT_P only
on TARGET_EXPR nodes.
/testsuite
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55944
* g++.dg/cpp0x/constexpr-static10.C: New.
From-SVN: r195391
Uros Bizjak [Tue, 22 Jan 2013 22:20:37 +0000 (23:20 +0100)]
* testsuite/ChangeLog: Move ChangeLog entries to 2013.
From-SVN: r195389
Jonathan Wakely [Tue, 22 Jan 2013 22:14:33 +0000 (22:14 +0000)]
install.texi (Downloading the Source): Update references to downloading separate components.
* doc/install.texi (Downloading the Source): Update references to
downloading separate components.
From-SVN: r195388
Jonathan Wakely [Tue, 22 Jan 2013 21:58:39 +0000 (21:58 +0000)]
* doc/extend.texi (__int128): Improve grammar.
From-SVN: r195387
Uros Bizjak [Tue, 22 Jan 2013 20:58:37 +0000 (21:58 +0100)]
re PR target/56028 (Splitting a 64-bit volatile store)
PR target/56028
* config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
alternative to (o,r).
(*movdi_internal_rex64): Remove (!o,n) alternative.
(DImode immediate->memory splitter): Remove.
(DImode immediate->memory peephole2): Remove.
(movtf): Enable for TARGET_64BIT || TARGET_SSE.
(*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
alternative to (!o,*r).
(*movtf_internal_sse): New pattern.
(*movxf_internal_rex64): New pattern.
(*movxf_internal): Disable for TARGET_64BIT.
(*movdf_internal_rex64): Remove (!o,F) alternative.
testsuite/ChangeLog:
2012-01-22 Uros Bizjak <ubizjak@gmail.com>
PR target/56028
* gcc.target/i386/pr56028.c: New test.
From-SVN: r195386
Jakub Jelinek [Tue, 22 Jan 2013 17:15:47 +0000 (18:15 +0100)]
explicit-hle.cc: Tightten scan-assembler-times regexps...
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Tightten scan-assembler-times regexps, add dg-additional-options for
ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
dg-options.
From-SVN: r195383
Jakub Jelinek [Tue, 22 Jan 2013 17:03:33 +0000 (18:03 +0100)]
re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c)
PR middle-end/56074
* dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
* tree-vect-loop-manip.c (find_loop_location): Also ignore
stmt locations where LOCATION_LOCUS of the stmt location is
UNKNOWN_LOCATION or BUILTINS_LOCATION.
From-SVN: r195382
Jakub Jelinek [Tue, 22 Jan 2013 16:41:30 +0000 (17:41 +0100)]
re PR rtl-optimization/55686 (ICE in assign_by_spills, at lra-assigns.c:1244)
PR target/55686
* config/i386/i386.md (UNSPEC_STOS): New.
(strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
*strsetqi_1): Add UNSPEC_STOS.
* gcc.target/i386/pr55686.c: New test.
From-SVN: r195381
Jason Merrill [Tue, 22 Jan 2013 16:05:04 +0000 (11:05 -0500)]
re PR c++/56071 (friend class template cannot access private constructor in exception-specification)
PR c++/56071
* pt.c (maybe_instantiate_noexcept): Don't defer access checks.
From-SVN: r195378
Paolo Carlini [Tue, 22 Jan 2013 15:09:45 +0000 (15:09 +0000)]
re PR c++/56067 (Removal of -Wsynth from doc didn't remove example)
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56067
* doc/invoke.texi: Remove left over -Wsynth example.
From-SVN: r195375
Alan Modra [Tue, 22 Jan 2013 11:41:53 +0000 (22:11 +1030)]
re PR libgomp/51376 (libgomp taskwait failure)
PR libgomp/51376
PR libgomp/56073
* task.c (GOMP_task): Revert 2011-12-09 change.
(GOMP_taskwait): Likewise. Instead use atomic load with acquire
barrier to read task->children..
(gomp_barrier_handle_tasks): ..and matching atomic store with
release barrier here when setting parent->children to NULL.
From-SVN: r195370
Eric Botcazou [Tue, 22 Jan 2013 10:05:45 +0000 (10:05 +0000)]
trans.c (gnat_to_gnu): Do not translate the Etype of the node before translating the Actions.
* gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
not translate the Etype of the node before translating the Actions.
From-SVN: r195368
Dodji Seketeli [Tue, 22 Jan 2013 10:05:05 +0000 (10:05 +0000)]
PR c++/53609 - Wrong variadic template pack expansion in alias template
Consider this example:
1 template<class...I> struct List {};
2 template<int T> struct Z {static const int value = T;};
3 template<int...T> using LZ = List<Z<T>...>;
4
5 template<class...U>
6 struct F
7 {
8 using N = LZ<U::value...>; //#1 This should amount to List<Z<U::value>...>
9 }
10
11 F<Z<1>, Z<2> >::N A; //#2
which G++ fails to compile, with this error message:
test-PR53609-3.cc: In instantiation of 'struct F<Z<1>, Z<2> >':
test-PR53609-3.cc:11:15: required from here
test-PR53609-3.cc:3:43: error: wrong number of template arguments (2, should be 1)
template<int...T> using LZ = List<Z<T>...>;
^
test-PR53609-3.cc:2:24: error: provided for 'template<int T> struct Z'
template<int T> struct Z {static const int value = T;};
I think this is because in #1, when we substitute the argument pack
{U::value...} into the pack expansion Z<T>..., tsubst_pack_expansion
yields Z<U::value...>, instead of Z<U::value>..., so the instantiation
of LZ amounts to List<Z<U::value...> >, instead of
List<Z<U::value>...>.
The idea of this patch is to make tsubst_pack_expansion support
substituting an argument pack (into a pack expansion) where one of the
arguments (let's call it the Ith argument) is itself a pack expansion
P. In that case, the Ith element resulting from the substituting
should be a pack expansion P'.
The pattern of P' is then the pattern of P into which the pattern of
the Ith argument of the argument pack has been substituted.
Tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
* pt.c (argument_pack_element_is_expansion_p)
(make_argument_pack_select, use_pack_expansion_extra_args_p)
(gen_elem_of_pack_expansion_instantiation): New static functions.
(tsubst): When looking through an ARGUMENT_PACK_SELECT tree node,
look through the possibly resulting pack expansion as well.
(tsubst_pack_expansion): Use use_pack_expansion_extra_p to
generalize when to use the PACK_EXPANSION_EXTRA_ARGS mechanism.
Use gen_elem_of_pack_expansion_instantiation to build the
instantiation piece-wise. Don't use arg_from_parm_pack_p anymore,
as gen_elem_of_pack_expansion_instantiation and the change in
tsubst above generalize this particular case.
(arg_from_parm_pack_p): Remove this for it's not used by
tsubst_pack_expansion anymore.
gcc/testsuite/
* g++.dg/cpp0x/variadic139.C: New test.
* g++.dg/cpp0x/variadic140.C: Likewise.
* g++.dg/cpp0x/variadic141.C: Likewise.
From-SVN: r195367
Eric Botcazou [Tue, 22 Jan 2013 10:01:08 +0000 (10:01 +0000)]
trans.c (Pragma_to_gnu): Use optimize_size instead of optimize and adjust warning message.
* gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
instead of optimize and adjust warning message.
(Compilation_Unit_to_gnu): Process pragmas preceding the unit.
From-SVN: r195366
Tristan Gingold [Tue, 22 Jan 2013 09:49:14 +0000 (09:49 +0000)]
gigi.h (ADT_unhandled_except_decl, [...]): New.
* gcc-interface/gigi.h (ADT_unhandled_except_decl,
ADT_unhandled_others_decl): New.
(unhandled_others_decl, unhandled_except_decl): Define.
* gcc-interface/trans.c: Include common/common-target.h.
(gigi): Initialize them.
(Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
function in a try/catch clause.
From-SVN: r195364
Jakub Jelinek [Tue, 22 Jan 2013 08:23:32 +0000 (09:23 +0100)]
re PR libquadmath/56072 (info page wrongly defines M_PI_2 and M_PI_4)
PR libquadmath/56072
* libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.
From-SVN: r195360
Jason Merrill [Tue, 22 Jan 2013 01:27:19 +0000 (20:27 -0500)]
re PR c++/56059 (SIGSEGV on invalid C++11 code)
PR c++/56059
* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
template args count.
From-SVN: r195355
GCC Administrator [Tue, 22 Jan 2013 00:18:12 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195354
Uros Bizjak [Mon, 21 Jan 2013 19:45:05 +0000 (20:45 +0100)]
* config/i386/i386.md (isa): Switch places of fma and fma4.
From-SVN: r195350
Thomas Koenig [Mon, 21 Jan 2013 19:34:49 +0000 (19:34 +0000)]
re PR fortran/55919 (Bogus warning with -J directory/)
2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55919
* scanner.c (add_path_to_list): Copy path to temporary and strip
trailing directory separators before calling stat().
2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55919
* gfortran.dg/include_8.f90: New test.
From-SVN: r195348
Uros Bizjak [Mon, 21 Jan 2013 18:54:49 +0000 (19:54 +0100)]
* testsuite/ChangeLog: Fix duplicate entry.
From-SVN: r195347
Uros Bizjak [Mon, 21 Jan 2013 18:47:19 +0000 (19:47 +0100)]
pr55579.c: Cleanup esra tree dump
* gcc.dg/tree-ssa/pr55579.c: Cleanup esra tree dump
* gfortran.dg/unlimited_polymorphic_8.f90: Cleanup original tree dump.
From-SVN: r195346
Jakub Jelinek [Mon, 21 Jan 2013 17:55:34 +0000 (18:55 +0100)]
re PR tree-optimization/56051 (Wrong expression evaluation)
PR tree-optimization/56051
* fold-const.c (fold_binary_loc): Don't fold
X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
a narrowing conversion, or widening conversion from signed
to unsigned.
* gcc.c-torture/execute/pr56051.c: New test.
From-SVN: r195343
Uros Bizjak [Mon, 21 Jan 2013 17:51:23 +0000 (18:51 +0100)]
re PR rtl-optimization/56023 ([alpha] -fcompare-debug failure due to sched1 pass)
PR rtl-optimization/56023
* haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
dependent on debug instruction.
testsuite/ChangeLog:
PR rtl-optimization/56023
* gcc.dg/pr56023.c: New test.
From-SVN: r195342
Martin Jambor [Mon, 21 Jan 2013 17:16:57 +0000 (18:16 +0100)]
re PR middle-end/56022 (ICE (segfault) at convert_memory_address_addr_space (explow.c:334))
2013-01-21 Martin Jambor <mjambor@suse.cz>
PR middle-end/56022
* function.c (allocate_struct_function): Call
invoke_set_current_function_hook earlier.
testsuite/
* gcc.target/i386/pr56022.c: New test.
From-SVN: r195341
Jason Merrill [Mon, 21 Jan 2013 15:49:21 +0000 (10:49 -0500)]
* lib/target-supports.exp (check_effective_target_alias): New.
From-SVN: r195338
Jakub Jelinek [Mon, 21 Jan 2013 14:55:05 +0000 (15:55 +0100)]
reload1.c (init_reload): Only initialize reload_obstack during the first call.
* reload1.c (init_reload): Only initialize reload_obstack
during the first call.
From-SVN: r195335
Marek Polacek [Mon, 21 Jan 2013 13:14:17 +0000 (13:14 +0000)]
Fix up English grammar
From-SVN: r195334
Yi-Hsiu Hsu [Mon, 21 Jan 2013 10:55:15 +0000 (10:55 +0000)]
marvell-pj4.md (pj4_shift_conds, [...]): Handle simple_alu_shift.
2013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
* config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
From-SVN: r195333
Ramana Radhakrishnan [Mon, 21 Jan 2013 10:45:05 +0000 (10:45 +0000)]
Fix up wrong marvell-pj4.md file committed earlier and update copyright year.
2013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/56058
* config/arm/marvell-pj4.md: Update copyright year.
Fix up use of alu to alu_reg and simple_alu_imm.
From-SVN: r195332
Uros Bizjak [Mon, 21 Jan 2013 10:33:55 +0000 (11:33 +0100)]
i386.md (enabled): Do not disable fma4 for TARGET_FMA.
* config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
From-SVN: r195331
Andi Kleen [Mon, 21 Jan 2013 01:24:10 +0000 (01:24 +0000)]
Fix PR number in ChangeLog
From-SVN: r195330
GCC Administrator [Mon, 21 Jan 2013 00:19:08 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r195329
Jack Howarth [Sun, 20 Jan 2013 20:35:48 +0000 (20:35 +0000)]
re PR debug/53235 (
20120504 broke -fdebug-types-section)
2013-01-20 Jack Howarth <howarth@bromo.med.uc.edu>
PR debug/53235
* g++.dg/debug/dwarf2/nested-4.C: XFAIL on darwin.
From-SVN: r195326
Yi-Hsiu Hsu [Sun, 20 Jan 2013 20:35:23 +0000 (20:35 +0000)]
Check in missing file for:
Add support for Marvell's PJ4 CPU
2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/marvell-pj4.md: New file.
From-SVN: r195325
Hans-Peter Nilsson [Sun, 20 Jan 2013 19:47:35 +0000 (19:47 +0000)]
* gfortran.dg/inquire_10.f90: Run only for non-newlib targets.
From-SVN: r195324
Vladimir Makarov [Sun, 20 Jan 2013 19:09:58 +0000 (19:09 +0000)]
re PR target/55433 ([LRA] ICE on excessive reloads)
2013-01-20 Vladimir Makarov <vmakarov@redhat.com>
PR target/55433
* lra-constraints.c (curr_insn_transform): Don't reuse original
insn for secondary memory move when memory mode should be
different.
From-SVN: r195322
Andi Kleen [Sun, 20 Jan 2013 19:03:22 +0000 (19:03 +0000)]
libstdc++: Add mem_order_hle_acquire/release to atomic.h v2
The underlying compiler supports additional __ATOMIC_HLE_ACQUIRE/RELEASE
memmodel flags for TSX, but this was not exposed to the C++ wrapper.
Handle it there.
These are additional flags, so some of assert checks need to mask
off the flags before checking the memory model type.
libstdc++-v3/:
2013-01-12 Andi Kleen <ak@linux.intel.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/55223
* include/bits/atomic_base.h (__memory_order_modifier): Add
__memory_order_mask, __memory_order_modifier_mask,
__memory_order_hle_acquire, __memory_order_hle_release.
(operator|,operator&): Add.
(__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
(__cmpexch_failure_order): Add.
(clear, store, load, compare_exchange_weak, compare_exchange_strong):
Handle flags.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Add.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r195321
John David Anglin [Sun, 20 Jan 2013 14:40:16 +0000 (14:40 +0000)]
pa.md (atomic_loaddi, [...]): New patterns.
* config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
atomic_storedi_1): New patterns.
From-SVN: r195320
Venkataramanan Kumar [Sun, 20 Jan 2013 10:42:01 +0000 (10:42 +0000)]
Add AMD btver2 pipeline descriptions
From-SVN: r195319
Jeff Law [Sun, 20 Jan 2013 05:00:56 +0000 (22:00 -0700)]
re PR tree-optimization/52631 (VN does not use simplified expression for lookup)
PR tree-optimization/52631
* tree-ssa-sccvn (visit_use): Before looking up the original
statement, try looking up the simplified expression.
PR tree-optimization/52631
* tree-ssa/pr52631.c: New test.
* tree-ssa/ssa-fre-9: Update expected output.
From-SVN: r195318
GCC Administrator [Sun, 20 Jan 2013 00:18:29 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195317
Jonathan Wakely [Sat, 19 Jan 2013 23:42:55 +0000 (23:42 +0000)]
re PR libstdc++/55861 ([C++11] `std::shared_future::get' is not const-qualified)
PR libstdc++/55861
* include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
Fix return type.
(__basic_future::_M_get_result()): Const qualify.
(shared_future::get()): Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Use const
objects.
From-SVN: r195314
Jason Merrill [Sat, 19 Jan 2013 15:35:03 +0000 (10:35 -0500)]
correct dg-require-alias use in TLS tests
From-SVN: r195313
Anthony Green [Sat, 19 Jan 2013 13:48:54 +0000 (13:48 +0000)]
Fix test case for moxie
From-SVN: r195312
Anthony Green [Sat, 19 Jan 2013 13:48:16 +0000 (13:48 +0000)]
Set current_function_static_stack_size for moxie.
From-SVN: r195311
Jason Merrill [Sat, 19 Jan 2013 05:25:25 +0000 (00:25 -0500)]
re PR target/54908 (misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables)
PR target/54908
c-family/
* c.opt (-fextern-tls-init): New.
* c-opts.c (c_common_post_options): Handle it.
cp/
* decl2.c (get_local_tls_init_fn): New.
(get_tls_init_fn): Handle flag_extern_tls_init. Don't bother
with aliases for internal variables. Don't use weakrefs if
the variable needs destruction.
(generate_tls_wrapper): Mark the wrapper as const if no
initialization is needed.
(handle_tls_init): Don't require aliases.
From-SVN: r195310
GCC Administrator [Sat, 19 Jan 2013 00:18:47 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195309
Jakub Jelinek [Fri, 18 Jan 2013 20:24:34 +0000 (21:24 +0100)]
re PR tree-optimization/56029 (ICE: verify_gimple failed, location references block not in block tree)
PR tree-optimization/56029
* tree-phinodes.c (reserve_phi_args_for_new_edge): Set
gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
* g++.dg/torture/pr56029.C: New test.
From-SVN: r195304
Sharad Singhai [Fri, 18 Jan 2013 18:26:04 +0000 (18:26 +0000)]
re PR tree-optimization/55995 (vect increase_alignment notes missing from dump file)
2013-01-18 Sharad Singhai <singhai@google.com>
PR tree-optimization/55995
* dumpfile.c (dump_loc): Print location only if available.
* tree-vectorizer.c (increase_alignment): Intialize vect_location.
testsuite/ChangeLog
PR tree-optimization/55995
* gcc.dg/vect/vect.exp: Use "details" flags for dump info.
From-SVN: r195303
Vladimir Makarov [Fri, 18 Jan 2013 18:14:52 +0000 (18:14 +0000)]
re PR target/55433 ([LRA] ICE on excessive reloads)
2013-01-18 Vladimir Makarov <vmakarov@redhat.com>
PR target/55433
* lra-constraints.c (curr_insn_transform): Reuse original insn for
secondary memory move.
(inherit_reload_reg): Use rclass instead of cl for
check_secondary_memory_needed_p.
2013-01-18 Vladimir Makarov <vmakarov@redhat.com>
PR target/55433
* gcc.target/i386/pr55433.c: New.
From-SVN: r195302
Jakub Jelinek [Fri, 18 Jan 2013 17:15:07 +0000 (18:15 +0100)]
re PR middle-end/56015 (expand expands p[9] = COMPLEX_EXPR <-IMAGPART_EXPR <p[9]>, REALPART_EXPR <p[9]>>; incorrectly.)
PR middle-end/56015
* expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
the case where writing real complex part of target modifies
op1.
* gfortran.dg/pr56015.f90: New test.
From-SVN: r195301
Janis Johnson [Fri, 18 Jan 2013 17:01:40 +0000 (17:01 +0000)]
* gcc.dg/vect/vect-multitypes-12.c: Refactor dg-final directive.
From-SVN: r195299
James Greenhalgh [Fri, 18 Jan 2013 16:34:10 +0000 (16:34 +0000)]
[AArch64] Fix unordered comparisons to floating-point vcond.
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_vcond_internal<mode>): Handle unordered cases.
* config/aarch64/iterators.md (v_cmp_result): New.
gcc/testsuite/
* gcc.target/aarch64/vect-fcm-gt-f.c: Change expected output.
* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
From-SVN: r195297
Jeff Law [Fri, 18 Jan 2013 16:30:51 +0000 (09:30 -0700)]
pr52573.c: Move to...
* gcc.dg/pr52573.c: Move to...
* gcc.target/m68k/pr52573.c: Here. Eliminate target selector.
From-SVN: r195296
Yi-Hsiu Hsu [Fri, 18 Jan 2013 14:26:15 +0000 (14:26 +0000)]
Add support for Marvell's PJ4 CPU
2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/marvell-pj4.md: New file.
* config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
* config/arm/arm.md (generic_sched): Add marvell_pj4.
(generic_vfp): Likewise.
* config/arm/arm-cores.def: Add marvell-pj4.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
* doc/invoke.texi: Document marvell-pj4.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r195295
Tejas Belagod [Fri, 18 Jan 2013 13:41:58 +0000 (13:41 +0000)]
arm_neon.h: Map scalar types to standard types.
2013-01-18 Tejas Belagod <tejas.belagod@arm.com>
gcc/
* config/aarch64/arm_neon.h: Map scalar types to standard types.
From-SVN: r195293
Alexandre Oliva [Fri, 18 Jan 2013 11:05:04 +0000 (11:05 +0000)]
Mention PR debug/56006 in earlier commit for PR rtl-optimization/55547.
From-SVN: r195292
Alexandre Oliva [Fri, 18 Jan 2013 10:58:15 +0000 (10:58 +0000)]
re PR debug/54114 (VTA compile-time performance could be improved)
PR debug/54114
PR debug/54402
PR debug/49888
* var-tracking.c (negative_power_of_two_p): New.
(global_get_addr_cache, local_get_addr_cache): New.
(get_addr_from_global_cache, get_addr_from_local_cache): New.
(vt_canonicalize_addr): Rewrite using the above. Adjust the
heading comment.
(vt_stack_offset_p): Remove.
(vt_canon_true_dep): Always canonicalize loc's address.
(clobber_overlapping_mems): Make sure we have a MEM.
(local_get_addr_clear_given_value): New.
(val_reset): Clear local cached entries.
(compute_bb_dataflow): Create and release the local cache.
Disable duplicate MEMs clobbering.
(emit_notes_in_bb): Clobber MEMs likewise.
(vt_emit_notes): Create and release the local cache.
(vt_initialize, vt_finalize): Create and release the global
cache, respectively.
* alias.c (rtx_equal_for_memref_p): Compare operands of
ENTRY_VALUEs.
From-SVN: r195291
Alexandre Oliva [Fri, 18 Jan 2013 10:57:58 +0000 (10:57 +0000)]
re PR libmudflap/53359 (undefined reference to `__gnu_cxx::__numeric_traits_integer<int>::__min')
PR libmudflap/53359
* tree-mudflap.c (mudflap_finish_file): Skip deferred decls
not found in the symtab.
From-SVN: r195290
Alexandre Oliva [Fri, 18 Jan 2013 10:57:36 +0000 (10:57 +0000)]
re PR rtl-optimization/55547 (Alias analysis does not handle AND addresses correctly)
PR rtl-optimization/55547
PR rtl-optimization/53827
PR debug/53671
PR debug/49888
* alias.c (offset_overlap_p): New, factored out of...
(memrefs_conflict_p): ... this. Use absolute sizes. Retain
the conservative special case for symbolic constants. Don't
adjust zero sizes on alignment.
From-SVN: r195289
Jeff Law [Fri, 18 Jan 2013 07:54:47 +0000 (00:54 -0700)]
re PR rtl-optimization/52573 (regrename creates overlapping register allocations for output operands)
PR rtl-optimization/52573
* regrename.c (build_def_use): Ignore REG_DEAD notes if there is
a REG_UNUSED for the same register.
* gcc.dg/pr52573.c: New test.
From-SVN: r195288