Ian Lance Taylor [Tue, 14 Jul 2015 00:09:23 +0000 (00:09 +0000)]
Update to patch that Aldy committed directly here.
From-SVN: r225752
Ian Lance Taylor [Tue, 14 Jul 2015 00:02:19 +0000 (00:02 +0000)]
escape: Analyze multiple result type assertions.
For multi-result type assertions, the object being converted is hidden
behind unsafe conversions and calls to runtime methods. This change
allows the analysis to make edges between the result of the assertion
and the object being asserted.
Reviewed-on: https://go-review.googlesource.com/10661
From-SVN: r225751
Patrick Palka [Mon, 13 Jul 2015 20:35:53 +0000 (20:35 +0000)]
re PR c++/65186 (internal compiler error: in tsubst, at cp/pt.c:11738)
Fix PR c++/65186
gcc/cp/ChangeLog:
PR c++/65186
* pt.c (invalid_nontype_parm_type_p): Accept a bound template
template parm type under C++11 and later.
gcc/testsuite/ChangeLog:
PR c++/65186
* g++.dg/template/pr65186.C: New test.
From-SVN: r225749
Jonathan Wakely [Mon, 13 Jul 2015 20:07:48 +0000 (21:07 +0100)]
re PR libstdc++/66855 (codecvt wrong endianness in UTF-16 conversions)
PR libstdc++/66855
* src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
endianness bit in mode.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
From-SVN: r225748
Marek Polacek [Mon, 13 Jul 2015 19:41:01 +0000 (19:41 +0000)]
* rtl.c (rtx_equal_p_cb): Fix typo.
From-SVN: r225747
Ian Lance Taylor [Mon, 13 Jul 2015 18:55:15 +0000 (18:55 +0000)]
syscall: remove calls to Entersyscall & Exitsyscall in Getdents
The syscall for Getdents in syscall/libcall_linux.go
called Entersyscall and Exitsyscall, causing the
runtime_sched counts for goroutines to be incorrect.
Inconsistent counts caused checkdead in runtime/proc.c
to panic.
Fixes golang/go#11406
Reviewed-on: https://go-review.googlesource.com/11761
From-SVN: r225745
Jonathan Wakely [Mon, 13 Jul 2015 17:15:48 +0000 (18:15 +0100)]
c++config (_GLIBCXX_NOEXCEPT_IF): Define.
* include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
* include/bits/forward_list.h (forward_list::swap): Make noexcept
unconditional.
* include/bits/hashtable.h (_Hashtable::swap): Do not use
_S_nothrow_swap().
* include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
unconditional.
* include/bits/stl_deque.h (deque::swap): Likewise.
(swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
* include/bits/stl_list.h (list::swap): Make noexcept unconditional.
(swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
* include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
_GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
* include/bits/stl_multimap.h (multimap::swap,
swap(multimap&, multimap&)): Likewise.
* include/bits/stl_multiset.h (multiset::swap,
swap(multiset&, multiset&)): Likewise.
* include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
* include/bits/stl_tree.h (_Rb_tree::swap,
swap(_Rb_tree&, _Rb_tree&)): Likewise.
* include/bits/stl_vector.h (vector::swap): Make noexcept
unconditional.
(swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
* include/debug/deque (deque::swap, swap): Likewise.
* include/debug/forward_list (swap): Add noexcept.
* include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
* include/debug/map.h (map::swap, swap): Likewise.
* include/debug/multimap.h (multimap::swap, swap): Likewise.
* include/debug/multiset.h (multiset::Swap, swap): Likewise.
* include/debug/set.h (set::swap, swap): Likewise.
* include/debug/unordered_map (unordered_map::swap,
unordered_multimap::swap, swap): Likewise.
* include/debug/unordered_set (unordered_set::swap,
unordered_multiset::swap, swap): Likewise.
* include/debug/vector (vector::swap, swap): Likewise.
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
Remove.
* include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
* include/profile/forward_list (swap): Add noexcept.
* include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
* include/profile/map.h (map::swap, swap): Likewise.
* include/profile/multimap.h (multimap::swap, swap): Likewise.
* include/profile/multiset.h (multiset::swap, swap): Likewise.
* include/profile/set.h (set::swap, swap): Likewise.
* include/profile/unordered_map (swap): Likewise.
* include/profile/unordered_set (swap): Likewise.
* include/profile/vector (vector::swap, swap): Likewise. Remove
overloads for swapping rvalues.
* testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
for noexcept on swap.
* testsuite/23_containers/forward_list/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
number.
From-SVN: r225744
Mantas Mikaitis [Mon, 13 Jul 2015 16:00:39 +0000 (16:00 +0000)]
[ARM][testsuite] Fix FAIL: gcc.target/arm/macro_defs0.c and macro_defs1.c when -marm forced
On behalf of Mantas Mikaitis
2015-07-13 Mantas Mikaitis <mantas.mikaitis@arm.com>
* gcc.target/arm/macro_defs0.c: Add directive to skip
test if -marm is present.
* gcc.target/arm/macro_defs1.c: Likewise.
From-SVN: r225742
Andrew MacLeod [Mon, 13 Jul 2015 15:41:54 +0000 (15:41 +0000)]
omega.h: Don't include config.h...
* omega.h: Don't include config.h, don't include params.h again if
omega.h has already been included.
* graphite-poly.h: Include sese.h.
* graphite.c: Don't include sese.h, remove needless includes and
minimize includes outside #ifdef HAVE_isl block.
* graphite-blocking.c: Don't include sese.h, remove needless includes,
and wrap entire file in #ifdef HAVE_isl
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
From-SVN: r225741
John Marino [Mon, 13 Jul 2015 14:53:16 +0000 (14:53 +0000)]
t-dragonfly: New.
2015-07-13 John Marino <gnugcc@marino.st>
* config/i386/t-dragonfly: New.
From-SVN: r225738
John Marino [Mon, 13 Jul 2015 14:53:08 +0000 (14:53 +0000)]
os_defines.h (_GLIBCXX_USE_C99_CHECK, [...]): Define.
2015-07-13 John Marino <gnugcc@marino.st>
* config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
_GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
From-SVN: r225737
Maxim Blumenthal [Mon, 13 Jul 2015 13:08:13 +0000 (13:08 +0000)]
Update libgomp/testsuite/*/examples-4/* according to latest version (4.0.2)
2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
variables.
(vec_mult): Likewise. Add #pragma omp taskwait.
(main): Adjust caller.
* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-3.c: ...this.
* testsuite/libgomp.c/examples-4/simd-1.c: New file.
* testsuite/libgomp.c/examples-4/simd-2.c: New file.
* testsuite/libgomp.c/examples-4/simd-3.c: New file.
* testsuite/libgomp.c/examples-4/simd-4.c: New file.
* testsuite/libgomp.c/examples-4/simd-5.c: New file.
* testsuite/libgomp.c/examples-4/simd-6.c: New file.
* testsuite/libgomp.c/examples-4/simd-7.c: New file.
* testsuite/libgomp.c/examples-4/simd-8.c: New file.
* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
(vec_mult): Add !$omp taskwait.
* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
From-SVN: r225735
Kyrylo Tkachov [Mon, 13 Jul 2015 10:19:49 +0000 (10:19 +0000)]
[AArch64][testsuite] Adjust some arith+compare tests for potentially more aggressive if-conversion
* gcc.target/aarch64/adds3.c: Adjust for more aggressive
if-conversion..
* gcc.target/aarch64/adds1.c: Likewise.
* gcc.target/aarch64/ands_1.c: Likewise.
* gcc.target/aarch64/bics_1.c: Likewise.
* gcc.target/aarch64/subs1.c: Likewise.
* gcc.target/aarch64/subs3.c: Likewise.
From-SVN: r225732
Tom de Vries [Mon, 13 Jul 2015 09:46:37 +0000 (09:46 +0000)]
Mark *.omp_data_i as non-trapping
2015-07-13 Tom de Vries <tom@codesourcery.com>
* omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
From-SVN: r225731
Andre Vehreschild [Mon, 13 Jul 2015 09:01:54 +0000 (11:01 +0200)]
re PR fortran/64589 ([OOP] Linking error due to undefined integer symbol with unlimited polymorphism)
gcc/testsuite/ChangeLog:
2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/64589
* gfortran.dg/pr64589.f90: New test.
gcc/fortran/ChangeLog:
2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/64589
* class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
types in the top-level namespace.
From-SVN: r225730
Renlin Li [Mon, 13 Jul 2015 08:29:46 +0000 (08:29 +0000)]
[PATCH]Fix PR66556.
[PATCH]Fix PR66556. Don't drop side-effect in
simplify_const_relational_operation function.
gcc/
2015-07-13 Renlin Li <renlin.li@arm.com>
PR rtl/66556
* simplify-rtx.c (simplify_const_relational_operation): Add
side_effects_p checks.
gcc/testsuite/
2015-07-13 Renlin Li <renlin.li@arm.com>
PR rtl/66556
* gcc.c-torture/execute/pr66556.c: New.
From-SVN: r225729
Mikhail Maltsev [Mon, 13 Jul 2015 05:49:54 +0000 (05:49 +0000)]
Fix several crashes of C++ demangler on fuzzed input.
libiberty/
* cp-demangle.c (d_dump): Fix syntax error.
(d_identifier): Adjust type of len to match d_source_name.
(d_expression_1): Fix out-of-bounds access. Check code variable for
NULL before dereferencing it.
(d_find_pack): Do not recurse for FIXED_TYPE, DEFAULT_ARG and NUMBER.
(d_print_comp_inner): Add NULL pointer check.
* cp-demangle.h (d_peek_next_char): Define as inline function when
CHECK_DEMANGLER is defined.
(d_advance): Likewise.
* testsuite/demangle-expected: Add new testcases.
From-SVN: r225727
Aldy Hernandez [Mon, 13 Jul 2015 04:46:34 +0000 (04:46 +0000)]
Fix double word typos.
From-SVN: r225726
GCC Administrator [Mon, 13 Jul 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225725
Kugan Vivekanandarajah [Sun, 12 Jul 2015 11:22:42 +0000 (11:22 +0000)]
re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
gcc/testsuite/ChangeLog:
2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
Jeff Law <law@redhat.com>
PR middle-end/66726
* g++.dg/tree-ssa/pr66726.c: New test.
* gcc.dg/tree-ssa/pr66726-2.c: New test.
* gcc.dg/tree-ssa/pr66726.c: New test.
gcc/ChangeLog:
2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726
* tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
tree_ssa_phiopt_worker): Call it.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r225722
Kugan Vivekanandarajah [Sun, 12 Jul 2015 11:16:30 +0000 (11:16 +0000)]
cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
gcc/ChangeLog:
2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
* cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
* emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
REG_EQUAL note.
From-SVN: r225721
GCC Administrator [Sun, 12 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225718
Paolo Carlini [Sat, 11 Jul 2015 18:17:41 +0000 (18:17 +0000)]
re PR c++/58734 ([C++11] Template template parameter pack instantiation problem)
2015-07-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58734
* g++.dg/cpp0x/variadic-ttp2.C: New.
From-SVN: r225713
Paolo Carlini [Sat, 11 Jul 2015 17:53:42 +0000 (17:53 +0000)]
2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in the last ChangeLog entry.
From-SVN: r225712
Marek Polacek [Sat, 11 Jul 2015 10:03:38 +0000 (10:03 +0000)]
re PR middle-end/66353 (Missing bb_has_abnormal_call_pred in basic-block.h)
PR middle-end/66353
* basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
* ira-lives.c (bb_has_abnormal_call_pred): Remove function.
(process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
rather than bb_has_abnormal_call_pred.
* lra-lives.c (bb_has_abnormal_call_pred): Remove function.
(process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
rather than bb_has_abnormal_call_pred.
From-SVN: r225711
GCC Administrator [Sat, 11 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225709
Patrick Palka [Fri, 10 Jul 2015 23:21:39 +0000 (23:21 +0000)]
re PR c++/30044 (ICE in tsubst, at cp/pt.c:7359)
Fix PR c++/30044
gcc/cp/ChangeLog:
PR c++/30044
* pt.c (begin_template_parm_list): Add a dummy parameter level
to current_template_parms.
(end_template_parm_list): Remove the dummy parameter level
before adding the real one.
(tsubst): Don't attempt to substitute for template parameters
corresponding to a dummy argument level.
(template_parms_to_args): Remove obsolete hack for
giving template template arguments the proper level.
(splite_late_return_type): Remove obsolete hack for giving
template template arguments the proper level.
* error.c (dump_template_decl): Don't print dummy template
levels.
gcc/testsuite/ChangeLog
PR c++/30044
* g++.dg/cpp0x/auto46.C: New test.
* g++.dg/template/pr30044.C: New test.
* g++.dg/template/shadow2.C: New test.
* g++.dg/template/error55.C: New test.
* g++.dg/template/crash83.C: Accept any error string.
* g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template
parameters.
* g++.dg/cpp0x/variadic18.C: Likewise
* g++.dg/template/canon-type-13.C: Likewise.
* g++.old-deja/g++.pt/ttp42.C: Likewise.
* g++.dg/torture/
20070621-1.C: Likewise.
From-SVN: r225706
Paolo Carlini [Fri, 10 Jul 2015 22:56:35 +0000 (22:56 +0000)]
re PR c++/54521 (g++ fails to call explicit constructors in the second step of copy initialization)
/cp
2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54521
* call.c (convert_like_real): Do not set LOOKUP_ONLYCONVERTING for
the second step of copy-initialization.
/testsuite
2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54521
* g++.dg/init/explicit3.C: New.
From-SVN: r225705
Jason Merrill [Fri, 10 Jul 2015 21:35:09 +0000 (17:35 -0400)]
typo
From-SVN: r225693
Jason Merrill [Fri, 10 Jul 2015 21:35:04 +0000 (17:35 -0400)]
pt.c (find_parameter_packs_r): Handle variable templates.
* pt.c (find_parameter_packs_r): Handle variable templates.
(variable_template_specialization_p): New.
* cp-tree.h: Declare it.
From-SVN: r225692
Jason Merrill [Fri, 10 Jul 2015 21:34:59 +0000 (17:34 -0400)]
* parser.c (cp_parser_template_id): SET_EXPR_LOCATION.
From-SVN: r225691
Anatoly Sokolov [Fri, 10 Jul 2015 21:31:19 +0000 (00:31 +0300)]
[V850] Hookize GO_IF_LEGITIMATE_ADDRESS
From-SVN: r225690
Andrew Macleod [Fri, 10 Jul 2015 21:05:42 +0000 (21:05 +0000)]
bb-reorder.c: Don't include obstack.h if backend.h is included.
* bb-reorder.c: Don't include obstack.h if backend.h is included.
* cfg.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgrtl.c: Likewise.
* combine.c: Likewise.
* cprop.c: Likewise.
* dominance.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* ira-emit.c: Likewise.
* ira.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* regcprop.c: Likewise.
* regrename.c: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree.c: Likewise.
* web.c: Likewise.
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr.c: Likewise.
* config/darwin.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
From-SVN: r225689
H.J. Lu [Fri, 10 Jul 2015 20:30:10 +0000 (20:30 +0000)]
Allow indirect sibcall with register arguments
Indirect sibcall with register arguments is OK when there is register
available for argument passing.
gcc/
PR target/66819
* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
indirect sibcall with register arguments if register available
for argument passing.
(init_cumulative_args): Set cfun->machine->arg_reg_available
to (cum->nregs > 0) or to true if function has a variable
argument list.
(function_arg_advance_32): Set cfun->machine->arg_reg_available
to false if cum->nregs <= 0.
* config/i386/i386.h (machine_function): Add arg_reg_available.
gcc/testsuite/
PR target/66819
* gcc.target/i386/pr66819-1.c: New test.
* gcc.target/i386/pr66819-2.c: Likewise.
* gcc.target/i386/pr66819-3.c: Likewise.
* gcc.target/i386/pr66819-4.c: Likewise.
* gcc.target/i386/pr66819-5.c: Likewise.
From-SVN: r225688
Eric Botcazou [Fri, 10 Jul 2015 19:19:39 +0000 (19:19 +0000)]
c-ada-spec.h (cpp_operation): Revert latest change.
c-family/
* c-ada-spec.h (cpp_operation): Revert latest change.
* c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
constructors and destructors.
cp/
* decl2.c (cpp_check): Revert latest change.
From-SVN: r225686
Uros Bizjak [Fri, 10 Jul 2015 16:01:30 +0000 (18:01 +0200)]
sse.md (movdi_to_sse): Use gen_lowpart and gen_higpart instead of gen_rtx_SUBREG.
* config/i386/sse.md (movdi_to_sse): Use gen_lowpart
and gen_higpart instead of gen_rtx_SUBREG.
* config/i386/i386.md
(floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
(read-modify peephole2): Use gen_lowpart instead of
gen_rtx_SUBREG for operand 5.
From-SVN: r225682
Uros Bizjak [Fri, 10 Jul 2015 15:44:22 +0000 (17:44 +0200)]
pr66703.c: New test.
* gcc.target/i386/pr66703.c: New test.
From-SVN: r225681
Uros Bizjak [Fri, 10 Jul 2015 15:32:48 +0000 (17:32 +0200)]
re PR target/66703 ([4.9/5/6] gcc.target/i386/readeflags-1.c aborts on -march=i586 or on -miamcu)
PR target/66703
* gcc.target/i386/readeflags-1.c (readeflags_test): Declare with
__attribute__((noinline, noclone)). Change "x" to "volatile char"
type to prevent possible flag-clobbering zero-extensions.
From-SVN: r225680
Paolo Carlini [Fri, 10 Jul 2015 14:44:43 +0000 (14:44 +0000)]
re PR c++/60842 (In-class initializer causes a strange error)
2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60842
* g++.dg/cpp0x/nsdmi-template15.C: New.
From-SVN: r225679
Andrew MacLeod [Fri, 10 Jul 2015 13:22:45 +0000 (13:22 +0000)]
gen-mul-tables.cc (main): Change include list for generated files.
2015-07-10 Andrew MacLeod <amacleod@redhat.com>
* config/tilepro/gen-mul-tables.cc (main): Change include list for
generated files.
* config/tilepro/mul-tables.c: Regenerate.
* config/tilegx/mul-tables.c: Regenerate.
From-SVN: r225675
Richard Biener [Fri, 10 Jul 2015 12:53:05 +0000 (12:53 +0000)]
sv.po: Update.
2015-07-10 Richard Biener <rguenther@suse.de>
* sv.po: Update.
* de.po: Likewise.
From-SVN: r225673
Richard Biener [Fri, 10 Jul 2015 12:31:05 +0000 (12:31 +0000)]
fold-const.c (distribute_bit_expr): Remove.
2015-07-10 Richard Biener <rguenther@suse.de>
* fold-const.c (distribute_bit_expr): Remove.
(fold_binary_loc): Move simplifying (A & C1) + (B & C2)
to (A & C1) | (B & C2), distributing (A & B) | (A & C)
to A & (B | C) and simplifying A << C1 << C2 to ...
* match.pd: ... patterns here.
From-SVN: r225670
Jiong Wang [Fri, 10 Jul 2015 12:20:54 +0000 (12:20 +0000)]
[AArch64] Mark GOT related MEM rtx as const to help RTL loop IV
gcc/
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Mark mem
as READONLY and NOTRAP for PIC symbol.
gcc/testsuite/
* gcc.target/aarch64/got_mem_hoist_1.c: New test.
From-SVN: r225669
Andrew MacLeod [Fri, 10 Jul 2015 12:13:06 +0000 (12:13 +0000)]
gimple-predict.h: New file.
2015-07-10 Andrew MacLeod <amacleod@redhat.com>
* gimple-predict.h: New file.
(gimple_predict_predictor, gimple_predict_set_predictor,
gimple_predict_outcome, gimple_predict_set_outcome,
gimple_build_predict): Relocate here.
* gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
gimple_predict_outcome, gimple_predict_set_outcome): Move to
gimple-predict.h.
* gimple.c (gimple_build_predict): Move to gimple-predict.h
* basic-block.h: Don't include cfghooks.h.
* backend.h: Don't include predict.h.
* cfghooks.h: Include predict.h.
* gimple-pretty-print.c: Include gimple-predict.h.
* gimplify.c: Likwise.
* predict.c: Adjust includes.
* tree-inline.c: Likewise.
* asan.c: Likewise.
* auto-inc-dec.c: Likewise.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* builtins.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfg.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* dce.c: Likewise.
* dojump.c: Likewise.
* dse.c: Likewise.
* except.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* fwprop.c: Likewise.
* gcc-plugin.h: Likewise.
* gcse.c: Likewise.
* genattrtab.c: Likewise.
* genemit.c: Likewise.
* gengtype.c: Likewise.
* genopinit.c: Likewise.
* genoutput.c: Likewise.
* genpreds.c: Likewise.
* genrecog.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* graph.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* internal-fn.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-lives.c: Likewise.
* jump.c: Likewise.
* loop-doloop.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-assigns.c: Likewise.
* lra.c: Likewise.
* lra-coalesce.c: Likewise.
* lra-constraints.c: Likewise.
* lra-lives.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-streamer-in.c: Likewise.
* mode-switching.c: Likewise.
* modulo-sched.c: Likewise.
* omp-low.c: Likewise.
* optabs.c: Likewise.
* passes.c: Likewise.
* postreload.c: Likewise.
* postreload-gcse.c: Likewise.
* profile.c: Likewise.
* recog.c: Likewise.
* regstat.c: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* rtlanal.c: Likewise.
* sched-ebb.c: Likewise.
* sel-sched-ir.c: Likewise.
* sese.c: Likewise.
* shrink-wrap.c: Likewise.
* simplify-rtx.c: Likewise.
* stmt.c: Likewise.
* store-motion.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chkp.c: Likewise.
* tree-complex.c: Likewise.
* tree-eh.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* ubsan.c: Likewise.
* value-prof.c: Likewise.
* varasm.c: Likewise.
* var-tracking.c: Likewise.
* config/aarch64/aarch64-builtins.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cr16/cr16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin.c: Likewise.
* config/darwin-c.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/epiphany/mode-switch-use.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/msp430/msp430.c: Likewise.
* config/nds32/nds32.c: Likewise.
* config/nds32/nds32-cost.c: Likewise.
* config/nds32/nds32-fp-as-gp.c: Likewise.
* config/nds32/nds32-intrinsic.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32-md-auxiliary.c: Likewise.
* config/nds32/nds32-memory-manipulation.c: Likewise.
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
* config/nds32/nds32-predicates.c: Likewise.
* config/nios2/nios2.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/rl78/rl78.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/visium/visium.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
java
2015-07-10 Andrew MacLeod <amacleod@redhat.com>
* java-gimplify.c: Include cfghooks.h rather than predict.h.
lto
2015-07-10 Andrew MacLeod <amacleod@redhat.com>
* lto.c: Include cfghooks.h rather than predict.h.
From-SVN: r225668
Christophe Lyon [Fri, 10 Jul 2015 12:02:13 +0000 (12:02 +0000)]
attr_thumb.c: Skip if Thumb is not supported.
2015-07-10 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/attr_thumb.c: Skip if Thumb is not supported.
* gcc.target/arm/flip-thumb.c: Likewise.
From-SVN: r225665
Richard Biener [Fri, 10 Jul 2015 11:59:00 +0000 (11:59 +0000)]
genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
2015-07-10 Richard Biener <rguenther@suse.de>
* genmatch.c (dt_node::gen_kids_1): Fix indenting of
case labels.
(decision_tree::gen_gimple): Likewise.
(decision_tree::gen_generic): Likewise.
From-SVN: r225663
Uros Bizjak [Fri, 10 Jul 2015 11:56:48 +0000 (13:56 +0200)]
re PR target/66813 (gcc.target/i386/asm-flag-5.c failed with -march=pentium)
PR target/66813
* config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
testsuite/ChangeLog:
PR target/66813
* gcc.target/i386/pr66813.c: New test.
From-SVN: r225662
Jakub Jelinek [Fri, 10 Jul 2015 10:26:19 +0000 (12:26 +0200)]
re PR middle-end/66820 (internal compiler error: in get_expr_operands, at tree-ssa-operands.c:910)
PR middle-end/66820
* gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
or ORT_TASK contexts.
* omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
is non-zero.
* gcc.dg/gomp/pr66820.c: New test.
From-SVN: r225661
Kyrylo Tkachov [Fri, 10 Jul 2015 09:45:32 +0000 (09:45 +0000)]
[obvious] Fix typos above expand_cond_expr_using_cmove
* expr.c (expand_cond_expr_using_cmove): Fix typos in comment
above function.
From-SVN: r225659
Paolo Carlini [Fri, 10 Jul 2015 09:33:34 +0000 (09:33 +0000)]
re PR c++/65592 (internal compiler error: Segmentation fault when using non-existent enum class enumerator)
2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65592
* g++.dg/cpp0x/scoped_enum6.C: New.
From-SVN: r225658
Tom de Vries [Fri, 10 Jul 2015 08:25:18 +0000 (08:25 +0000)]
Insert new bound in try_transform_to_exit_first_loop_alt
2015-07-10 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
insert nit + 1 bound.
* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: New test.
* gfortran.dg/parloops-exit-first-loop-alt.f95: New test.
From-SVN: r225655
Richard Biener [Fri, 10 Jul 2015 08:20:15 +0000 (08:20 +0000)]
tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
2015-07-10 Richard Biener <rguenther@suse.de>
* tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
(if_convertible_loop_p_1): For this always compute bb predicates.
(if_convertible_loop_p): And free them.
From-SVN: r225654
Bernhard Reutner-Fischer [Fri, 10 Jul 2015 07:56:15 +0000 (09:56 +0200)]
ipa-icf.c: Fix typo in dump message
2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
in dump message.
From-SVN: r225653
Richard Biener [Fri, 10 Jul 2015 07:53:06 +0000 (07:53 +0000)]
re PR tree-optimization/66823 (-ftree-loop-if-convert-stores miscompiles gfortran.dg/elemental_optional_args_3.f90)
2015-07-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/66823
* tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
inverted predicate.
* gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores
which should not be necessary. XFAIL.
From-SVN: r225652
Paolo Carlini [Fri, 10 Jul 2015 02:44:39 +0000 (02:44 +0000)]
re PR c++/64848 (G++ internal compiler error with templated lambdas capturing variable)
2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64848
* g++.dg/cpp0x/lambda/lambda-ice14.C: New.
From-SVN: r225648
GCC Administrator [Fri, 10 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225646
Steve Ellcey [Thu, 9 Jul 2015 22:17:22 +0000 (22:17 +0000)]
mti-linux.h (MIPS_SYSVERSION_SPEC): Update to handle mips[32|64]r3 and mips[32|64]r5.
2015-07-09 Steve Ellcey <sellcey@imgtec.com>
* config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
to handle mips[32|64]r3 and mips[32|64]r5.
From-SVN: r225643
Jakub Jelinek [Thu, 9 Jul 2015 21:14:11 +0000 (23:14 +0200)]
re PR middle-end/66633 (ICE on valid "verify_gimple failed" with OpenMP)
PR middle-end/66633
* tree-nested.c (get_static_chain): Or in a flag into
info->static_chain_added.
(get_frame_field, get_nonlocal_debug_decl): Likewise.
(convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
2015-07-01 changes.
(convert_tramp_reference_stmt): If a frame_decl or chain_decl
is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
add it to clauses.
* gcc.dg/gomp/pr66633-1.c: New test.
* gcc.dg/gomp/pr66633-2.c: New test.
* gcc.dg/gomp/pr66633-3.c: New test.
* gcc.dg/gomp/pr66633-4.c: New test.
From-SVN: r225638
Jakub Jelinek [Thu, 9 Jul 2015 21:11:28 +0000 (23:11 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
* tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
field.
(vect_simd_lane_linear): New function.
(vectorizable_simd_clone_call): Support using linear arguments for
addresses of arrays elements indexed by GOMP_SIMD_LANE result.
From-SVN: r225637
John Marino [Thu, 9 Jul 2015 21:04:41 +0000 (21:04 +0000)]
target-supports.exp (check_effective_target_pie): Add *-*-dragonfly*
2015-07-09 John Marino <gnugcc@marino.st>
* lib/target-supports.exp (check_effective_target_pie):
Add *-*-dragonfly*
From-SVN: r225636
H.J. Lu [Thu, 9 Jul 2015 20:35:56 +0000 (20:35 +0000)]
Adjust variable shift costs for IA MCU
We reduce code size for IA MCU by adjusting variable shift costs for IA
MCU
PR target/66821
* config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
From-SVN: r225635
Michael Meissner [Thu, 9 Jul 2015 18:57:06 +0000 (18:57 +0000)]
rs6000-protos.h (rs6000_secondary_reload_memory): Use machine mode, not enum machine_mode in the prototype.
2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
Use machine mode, not enum machine_mode in the prototype.
* config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
classify 128-bit floating point support.
(FLOAT128_IBM_P): Likewise.
(FLOAT128_VECTOR_P): Likewise.
(FLOAT128_2REG_P): Likewise.
(SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
(SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
(HARD_REGNO_CALLER_SAVE_MODE): Likewise.
(HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
tests against TFmode/TDmode, since those modes do not use VSX
addresses.
(rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
support.
(rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
tests against TFmode, etc.
(invalid_e500_subreg): Add tests against IFmode/KFmode.
(reg_offset_addressing_ok_p): Likewise.
(rs6000_legitimate_offset_address_p): Likewise.
(rs6000_legitimize_address): Likewise.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_legitimate_address_p): Clean up tests against TFmode and
TDmode to use the new helper macros, which will include IFmode and
KFmode.
(rs6000_emit_move): Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(print_operand): Likewise.
(rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
that uses a single vector register as a vector and not as a
floating point register in terms of the calling sequence.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_return_in_memory): Likewise.
(init_cumulative_args): Likewise.
(rs6000_function_arg_boundary): Likewise.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_pass_by_reference): Likewise.
(rs6000_gimplify_va_arg): Likewise.
(rs6000_secondary_reload_memory): Use machine_mode not enum
machine mode.
(rs6000_split_multireg_move): Use new helper macros.
(spe_func_has_64bit_regs_p): Likewise.
(rs6000_output_function_epilogue): Add IFmode/KFmode support.
(output_toc): Use new helper macros.
(rs6000_register_move_cost): Likewise.
(rs6000_function_value): Add IEEE 128-bit floating point calling
sequence support.
(rs6000_libcall_value): Likewise.
(rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
floating point support.
(rs6000_vector_mode_supported_p): Likewise.
From-SVN: r225632
Michael Meissner [Thu, 9 Jul 2015 18:55:01 +0000 (18:55 +0000)]
rs6000-protos.h (rs6000_secondary_reload_memory): Use machine mode, not enum machine_mode in the prototype.
2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
Use machine mode, not enum machine_mode in the prototype.
* config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
classify 128-bit floating point support.
(FLOAT128_IBM_P): Likewise.
(FLOAT128_VECTOR_P): Likewise.
(FLOAT128_2REG_P): Likewise.
(SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
(SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
(HARD_REGNO_CALLER_SAVE_MODE): Likewise.
(HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
tests against TFmode/TDmode, since those modes do not use VSX
addresses.
(rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
support.
(rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
tests against TFmode, etc.
(invalid_e500_subreg): Add tests against IFmode/KFmode.
(reg_offset_addressing_ok_p): Likewise.
(rs6000_legitimate_offset_address_p): Likewise.
(rs6000_legitimize_address): Likewise.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_legitimate_address_p): Clean up tests against TFmode and
TDmode to use the new helper macros, which will include IFmode and
KFmode.
(rs6000_emit_move): Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(print_operand): Likewise.
(rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
that uses a single vector register as a vector and not as a
floating point register in terms of the calling sequence.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_return_in_memory): Likewise.
(init_cumulative_args): Likewise.
(rs6000_function_arg_boundary): Likewise.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_pass_by_reference): Likewise.
(rs6000_gimplify_va_arg): Likewise.
(rs6000_secondary_reload_memory): Use machine_mode not enum
machine mode.
(rs6000_split_multireg_move): Use new helper macros.
(spe_func_has_64bit_regs_p): Likewise.
(rs6000_output_function_epilogue): Add IFmode/KFmode support.
(output_toc): Use new helper macros.
(rs6000_register_move_cost): Likewise.
(rs6000_function_value): Add IEEE 128-bit floating point calling
sequence support.
(rs6000_libcall_value): Likewise.
(rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
floating point support.
(rs6000_vector_mode_supported_p): Likewise.
From-SVN: r225631
Jason Merrill [Thu, 9 Jul 2015 17:50:16 +0000 (13:50 -0400)]
pt.c (instantiation_dependent_r): Call value_dependent_expression_p.
* pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Call
value_dependent_expression_p.
From-SVN: r225622
Jason Merrill [Thu, 9 Jul 2015 17:50:11 +0000 (13:50 -0400)]
cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to template_parameter_pack_p.
* cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to
template_parameter_pack_p.
* parser.c (declarator_can_be_parameter_pack): False if
parameter_pack_p is set.
(make_parameter_declarator): Add template_parameter_pack_p parm.
(cp_parser_template_parameter): Remove parameter pack parsing.
(cp_parser_parameter_declaration): Handle all parameter packs.
Tweak default argument permerror.
From-SVN: r225621
Andrew Sutton [Thu, 9 Jul 2015 17:50:06 +0000 (17:50 +0000)]
* parser.c (cp_parser_default_type_template_argument)
(cp_parser_default_template_template_argument): Factor out from
cp_parser_type_parameter.
From-SVN: r225620
Vladimir Makarov [Thu, 9 Jul 2015 15:39:53 +0000 (15:39 +0000)]
re PR rtl-optimization/66782 (Unable to run 64-bit wine after MS->SYSV register changes)
2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/66782
* lra-int.h (struct lra_insn_recog_data): Add comment about
clobbered hard regs for arg_hard_regs.
* lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
* lra-lives.c (process_bb_lives): Process clobbered hard regs.
Add condition for processing used hard regs.
* lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
Process clobbered hard regs.
From-SVN: r225618
Michael Matz [Thu, 9 Jul 2015 15:19:46 +0000 (15:19 +0000)]
genmatch.c (fprintf_indent): New function.
* genmatch.c (fprintf_indent): New function.
(operand::gen_transform): Add indent parameter.
(expr::gen_transform, c_expr::gen_transform,
capture::gen_transform): Ditto and use fprintf_indent.
(dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
(dt_operand::gen, dt_operand::gen_predicate,
dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
(decision_tree::gen_gimple): Adjust calls and indent generated
code.
(decision_tree::gen_generic): Ditto.
(write_predicate): Ditto.
From-SVN: r225617
Uros Bizjak [Thu, 9 Jul 2015 15:18:44 +0000 (17:18 +0200)]
re PR target/66814 (ICE: gcc.target/i386/avx512f-klogic-2.c)
PR target/66814
* config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
* config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
(varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
{GENERAL_SSE_MMX}_REG_P where appropriate.
testsuite/ChangeLog:
PR target/66814
* gcc.target/i386/pr66814.c: New test.
From-SVN: r225616
Paolo Carlini [Thu, 9 Jul 2015 15:14:10 +0000 (15:14 +0000)]
typeck.c (warn_args_num): Rename to error_args_num.
2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (warn_args_num): Rename to error_args_num.
(convert_arguments): Adjust calls.
From-SVN: r225615
Uros Bizjak [Thu, 9 Jul 2015 15:06:00 +0000 (17:06 +0200)]
getruntime.c (RUSAGE_SELF): Define if not already defined.
* getruntime.c (RUSAGE_SELF): Define if not already defined.
(get_runtime): Use RUSAGE_SELF as argument 1 of getrusage call.
From-SVN: r225614
Szabolcs Nagy [Thu, 9 Jul 2015 14:37:42 +0000 (14:37 +0000)]
fnmul-1.c: Fix whitespace.
2015-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
* gcc.target/aarch64/fnmul-1.c: Fix whitespace.
* gcc.target/aarch64/fnmul-2.c: Likewise.
* gcc.target/aarch64/fnmul-3.c: Likewise.
* gcc.target/aarch64/fnmul-4.c: Likewise.
From-SVN: r225613
Andrew MacLeod [Thu, 9 Jul 2015 14:24:20 +0000 (14:24 +0000)]
lto-streamer.h: Don't include target.h and alloc-pool.h.
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
* lto-streamer.h: Don't include target.h and alloc-pool.h.
* builtins.c: Adjust includes.
* gimple.c: Likewise.
* ipa-icf.c: Likewise.
* lto-opts.c: Likewise.
* ipa-reference.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* opts-global.c: Likewise.
* symtab.c: Likewise.
* tree-chkp.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/winnt.c: Likewise.
cp
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
* cp-ubsan.c: Don't include alloc-pool.h or lto-streamer.h.
lto
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
* lto-lang.c: Adjust includes of target.h, alloc-pool.h and
lto-streamer.h.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
From-SVN: r225612
Richard Biener [Thu, 9 Jul 2015 12:23:22 +0000 (12:23 +0000)]
genmatch.c (struct expr): Add force_single_use flag.
2015-07-09 Richard Biener <rguenther@suse.de>
* genmatch.c (struct expr): Add force_single_use flag.
(expr::expr): Add copy constructor.
(capture_info::walk_match): Gather force_single_use captures.
(expr::gen_transform): Use possibly NULLified sequence.
(dt_simplify::gen): Apply single-use restrictions by NULLifying
seq if any constrained expr is not single-use.
(parser::parse_expr): Refactor to allow multiple flags. Handle
's' flag to force an expression have a single-use if the pattern
simplifies to more than one statement.
* match.pd: Convert most single_use conditionals to :s flags.
From-SVN: r225610
H.J. Lu [Thu, 9 Jul 2015 12:11:18 +0000 (12:11 +0000)]
Update config/i386/iamcu.h
Copy ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN and
ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX from config/i386/gnu-user.h.
* config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
(ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
From-SVN: r225609
Andrew MacLeod [Thu, 9 Jul 2015 11:27:35 +0000 (11:27 +0000)]
flags.h: Don't include flag-types.h or options.h.
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
* flags.h: Don't include flag-types.h or options.h.
* opts-common.c: Adjust includes.
* opts-global.c: Likewise.
* common/config/epiphany/epiphany-common.c: Likewise.
c
* c-array-notation.c: Adjust includes for flags.h changes.
* c-objc-common.c: Likewise.
c-family
* c-common.h: Adjust includes for flags.h changes.
* stub-objc.c: Likewise.
fortran
* arith.c: Adjust includes for flags.h changes.
* array.c: Likewise.
* check.c: Likewise.
* decl.c: Likewise.
* error.c: Likewise.
* expr.c: Likewise.
* frontend-passes.c: Likewise.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* io.c: Likewise.
* match.c: Likewise.
* openmp.c: Likewise.
* parse.c: Likewise.
* primary.c: Likewise.
* resolve.c: Likewise.
* scanner.c: Likewise.
* simplify.c: Likewise.
* symbol.c: Likewise.
* target-memory.c: Likewise.
jit
* dummy-frontend.c: Adjust includes for flags.h changes.
* jit-common.h: Likewise.
* jit-playback.c: Likewise.
lto
* lto-lang.c: Adjust includes for flags.h changes.
From-SVN: r225608
Paolo Carlini [Thu, 9 Jul 2015 09:51:09 +0000 (09:51 +0000)]
re PR c++/65790 (compilation error : receive std::index_sequence)
2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65790
* g++.dg/cpp0x/vt-65790.C: New.
From-SVN: r225607
H.J. Lu [Thu, 9 Jul 2015 09:28:19 +0000 (09:28 +0000)]
Define ATTRIBUTE_ALIGNED_VALUE to 32 for IA MCU
attribute ((aligned)) should align to the minimum of BIGGEST_ALIGNMENT,
which is 4 bytes for -miamcu.
gcc/
PR target/66818
* config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
for IA MCU.
gcc/testsuite/
PR target/66818
* gcc.target/i386/pr66818.c: New test.
From-SVN: r225606
H.J. Lu [Thu, 9 Jul 2015 09:26:47 +0000 (09:26 +0000)]
Check int_size_in_bytes in ix86_return_in_memory
ix86_return_in_memory should check negative return from int_size_in_bytes,
similar to other ports.
gcc/
PR target/66817
* config/i386/i386.c (ix86_return_in_memory): Return true
if int_size_in_bytes returns negative for IA MCU.
gcc/testsuite/
PR target/66817
* gcc.target/i386/pr66817.c: New test.
From-SVN: r225605
Marek Polacek [Thu, 9 Jul 2015 09:01:51 +0000 (09:01 +0000)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
* Makefile.in (OBJS): Add gimple-laddress.o.
* passes.def: Schedule pass_laddress.
* timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
* tree-pass.h (make_pass_laddress): Declare.
* gimple-laddress.c: New file.
* gcc.dg/vect/vect-126.c: New test.
From-SVN: r225604
Richard Biener [Thu, 9 Jul 2015 08:40:25 +0000 (08:40 +0000)]
toplev.c (compile_file): Reset maximum_field_alignment after parsing.
2015-07-08 Richard Biener <rguenther@suse.de>
* toplev.c (compile_file): Reset maximum_field_alignment after parsing.
From-SVN: r225603
Richard Biener [Thu, 9 Jul 2015 07:47:38 +0000 (07:47 +0000)]
re PR middle-end/66807 (--enable-libmpx failed)
2015-07-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/66807
* tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
From-SVN: r225600
Kito Cheng [Thu, 9 Jul 2015 03:51:21 +0000 (03:51 +0000)]
function.c (stack_protect_epilogue): Use if rather than switch for check targetm.have_stack_protect_test.
2015-07-08 Kito Cheng <kito.cheng@gmail.com>
* function.c (stack_protect_epilogue): Use if rather than switch for
check targetm.have_stack_protect_test.
From-SVN: r225599
Carlos Sánchez de La Lama [Thu, 9 Jul 2015 03:49:12 +0000 (03:49 +0000)]
*.C: generate dwarf-2 debug information even when dwarf-2 is not the default.
* g++.dg/debug/dwarf2/*.C: generate dwarf-2 debug information
even when dwarf-2 is not the default.
From-SVN: r225598
Trevor Saunders [Thu, 9 Jul 2015 02:51:19 +0000 (02:51 +0000)]
always define WORD_REGISTER_OPERATIONS
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
* config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
* config/arc/arc.h: Likewise.
* config/arm/arm.h: Likewise.
* config/bfin/bfin.h: Likewise.
* config/epiphany/epiphany.h: Likewise.
* config/frv/frv.h: Likewise.
* config/ia64/ia64.h: Likewise.
* config/iq2000/iq2000.h: Likewise.
* config/lm32/lm32.h: Likewise.
* config/m32r/m32r.h: Likewise.
* config/mcore/mcore.h: Likewise.
* config/mep/mep.h: Likewise.
* config/microblaze/microblaze.h: Likewise.
* config/mips/mips.h: Likewise.
* config/mmix/mmix.h: Likewise.
* config/mn10300/mn10300.h: Likewise.
* config/nds32/nds32.h: Likewise.
* config/nios2/nios2.h: Likewise.
* config/pa/pa.h: Likewise.
* config/rl78/rl78.h: Likewise.
* config/sh/sh.h: Likewise.
* config/sparc/sparc.h: Likewise.
* config/stormy16/stormy16.h: Likewise.
* config/tilegx/tilegx.h: Likewise.
* config/tilepro/tilepro.h: Likewise.
* config/v850/v850.h: Likewise.
* config/xtensa/xtensa.h: Likewise.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Adjust.
* combine.c (simplify_set): Likewise.
(simplify_comparison): Likewise.
* expr.c (store_constructor): Likewise.
* internal-fn.c (expand_arith_overflow): Likewise.
* reload.c (push_reload): Likewise.
(find_reloads): Likewise.
(find_reloads_subreg_address): Likewise.
* reload1.c (eliminate_regs_1): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.
* simplify-rtx.c (simplify_truncation): Likewise.
From-SVN: r225597
Trevor Saunders [Thu, 9 Jul 2015 02:51:09 +0000 (02:51 +0000)]
reduce conditional compilation based on AUTO_INC_DEC
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
of AUTO_INC_DEC with the preprocessor.
* combine.c (combine_instructions): Likewise.
(can_combine_p): Likewise.
(try_combine): Likewise.
* emit-rtl.c (try_split): Likewise.
* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
* lower-subreg.c (resolve_simple_move): Likewise.
* lra.c (update_inc_notes): Likewise.
* recog.c (asm_operand_ok): Likewise.
(constrain_operands): Likewise.
* regrename.c (scan_rtx_address): Likewise.
* reload.c (update_auto_inc_notes): Likewise.
(reg_inc_found_and_valid_p): Likewise.
* reload1.c (reload): Likewise.
(emit_input_reload_insns): Likewise.
(delete_output_reload): Likewise.
* sched-deps.c (init_insn_reg_pressure_info): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
From-SVN: r225596
Trevor Saunders [Thu, 9 Jul 2015 02:50:21 +0000 (02:50 +0000)]
always define AUTO_INC_DEC
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* rtl.h: Always define AUTO_INC_DEC.
* auto-inc-dec.c (pass_inc_dec::execute): Adjust.
* combine.c (combine_instructions): Likewise.
(can_combine_p): Likewise.
(try_combine): Likewise.
* emit-rtl.c (try_split): Likewise.
* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
* lower-subreg.c (resolve_simple_move): Likewise.
* lra.c (update_inc_notes): Likewise.
* recog.c (asm_operand_ok): Likewise.
(constrain_operands): Likewise.
* regrename.c (scan_rtx_address): Likewise.
* reload.c (update_auto_inc_notes): Likewise.
(find_equiv_reg): Likewise.
* reload1.c (reload): Likewise.
(reload_as_needed): Likewise.
(choose_reload_regs): Likewise.
(emit_input_reload_insns): Likewise.
(delete_output_reload): Likewise.
* sched-deps.c (init_insn_reg_pressure_info): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
From-SVN: r225595
Trevor Saunders [Thu, 9 Jul 2015 02:50:14 +0000 (02:50 +0000)]
use #if for HARD_FRAME_POINTER_IS_FRAME_POINTER less
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* combine.c (can_combine_def_p): Don't check the value of
HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
(combinable_i3pat): Likewise.
(mark_used_regs_combine): Likewise.
* regrename.c (rename_chains): Likewise.
* reload.c (find_reloads_address): Likewise.
* sel-sched.c (mark_unavailable_hard_regs): Likewise.
From-SVN: r225594
Trevor Saunders [Thu, 9 Jul 2015 02:50:07 +0000 (02:50 +0000)]
always define SHORT_IMMEDIATES_SIGN_EXTEND
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* combine.c (update_rsp_from_reg_equal): Don't check if
SHORT_IMMEDIATES_SIGN_EXTEND is defined.
(reg_nonzero_bits_for_combine): Likewise.
* config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
1.
* config/frv/frv.h: Likewise.
* config/lm32/lm32.h: Likewise.
* config/mep/mep.h: Likewise.
* config/mips/mips.h: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/sh/sh.h: Likewise.
* config/tilegx/tilegx.h (enum reg_class): Likewise.
* config/tilepro/tilepro.h: Likewise.
* defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Adjust.
* rtlanal.c (nonzero_bits1): Likewise.
From-SVN: r225593
Trevor Saunders [Thu, 9 Jul 2015 02:49:57 +0000 (02:49 +0000)]
remove #if for HAVE_cc0 in combine.c
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
with the preprocessor.
(combine_instructions): Likewise.
(try_combine): Likewise.
(subst): Likewise.
(distribute_notes): Likewise.
From-SVN: r225592
Trevor Saunders [Thu, 9 Jul 2015 02:49:51 +0000 (02:49 +0000)]
reduce conditional compilation for LOAD_EXTEND_OP
Provide a default in files where that is possible, so that everything
else there can be unconditionally compiled. However rtlanal.c and
reload.c do tricky things that break providing a global default, so we
can't do that yet.
gcc/ChangeLog:
2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
defined.
(simplify_set): Likewise.
* cse.c (cse_insn): Likewise.
* fold-const.c (fold_single_bit_test): Likewise.
(fold_unary_loc): Likewise.
* postreload.c (reload_cse_simplify_set): Likewise.
(reload_cse_simplify_operands): Likewise.
From-SVN: r225591
GCC Administrator [Thu, 9 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225590
Jeff Law [Wed, 8 Jul 2015 22:34:52 +0000 (16:34 -0600)]
re PR testsuite/66796 (FAIL: gcc.target/hppa/shadd-1.c scan-assembler-times sh.add 1)
PR testsuite/66796
* gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as
to have a single memory reference.
From-SVN: r225586
Eric Botcazou [Wed, 8 Jul 2015 21:58:10 +0000 (21:58 +0000)]
c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
c-family/
* c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
* c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
cp/
* decl2.c (cpp_check): Deal with IS_CONSTEXPR.
From-SVN: r225585
Jakub Jelinek [Wed, 8 Jul 2015 20:29:26 +0000 (22:29 +0200)]
c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses are to be removed, return NULL rather than original clauses list.
* c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
are to be removed, return NULL rather than original clauses list.
* decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
* pt.c (apply_late_template_attributes): Likewise.
* g++.dg/vect/vect.exp: Run also simd* tests.
* gcc.dg/vect/tree-vect.h (abort, exit): For C++ use extern "C".
(check_vect): Fix up get_cpuid call for C++.
* g++.dg/vect/simd-clone-1.cc: New test.
From-SVN: r225583
Jiong Wang [Wed, 8 Jul 2015 20:18:00 +0000 (20:18 +0000)]
[AArch64] Define TARGET_UNSPEC_MAY_TRAP_P
gcc/
* config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
(TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
From-SVN: r225581
H.J. Lu [Wed, 8 Jul 2015 20:01:36 +0000 (20:01 +0000)]
Allow <adxintrin.h> for IA MCU
It is OK to include <adxintrin.h> for IA MCU since GCC can generate ADX
intrinsics with alternative instuctions if ADX isn't enabled.
PR target/66746
* config/i386/x86intrin.h: Include <adxintrin.h> even if
__iamcu__ is defined.
From-SVN: r225580
H.J. Lu [Wed, 8 Jul 2015 19:35:43 +0000 (19:35 +0000)]
Compile pr37870.c with -mlong-double-80
On x86, the "long double" type is platforma specific, which may be the
same as double or __float128. Since pr37870.c requires 80-bit floating
point type, it should be compiled with -mlong-double-80.
* gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80.
From-SVN: r225578
Uros Bizjak [Wed, 8 Jul 2015 18:06:57 +0000 (20:06 +0200)]
predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
* config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
From-SVN: r225568
H.J. Lu [Wed, 8 Jul 2015 17:08:48 +0000 (17:08 +0000)]
Add abort prototype to readeflags-1.c/writeeflags-1.c
* gcc.target/i386/readeflags-1.c (abort): New prototype.
* gcc.target/i386/writeeflags-1.c (abort): Likewise.
From-SVN: r225566