Bernhard Reutner-Fischer
d185db140a
match.c (gfc_match_type_is): Fix typo in error message
...
2017-10-25 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* match.c (gfc_match_type_is): Fix typo in error message.
From-SVN: r254082
2017-10-25 21:10:15 +02:00
Jonathan Wakely
5fdbeb16d7
Update C++17 library status documentation
...
* doc/xml/manual/status_cxx2017.xml: Update C++17 status, and
information on feature-test macros.
* doc/html/*: Regenerate.
From-SVN: r254078
2017-10-25 15:06:12 +01:00
Jonathan Wakely
30e0aed183
PR libstdc++/82716 avoid stupid -Wmismatched-tags warnings
...
PR libstdc++/82716
* include/std/array (tuple_size, tuple_element): Change class-key
from class to struct, to avoid annoying Clang warnings.
From-SVN: r254077
2017-10-25 14:55:56 +01:00
Jonathan Wakely
220645d019
PR libstdc++/79283 fix filesystem::read_symlink for /proc
...
PR libstdc++/79283
* src/filesystem/ops.cc (read_symlink): Handle st_size being zero.
* src/filesystem/std-ops.cc (read_symlink): Likewise.
(do_copy_file) [!NEED_DO_COPY_FILE]: Avoid multiple definitions.
From-SVN: r254076
2017-10-25 13:42:58 +01:00
Jonathan Wakely
eeb517d3e7
Fix filesystem::path::lexically_normal algorithm
...
* src/filesystem/std-path.cc (path::lexically_normal): Add missing
step to algorithm, for removing dot-dot elements after root-directory.
* testsuite/27_io/filesystem/operations/canonical.cc: Use
compare_paths for more exhaustive checks.
* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
* testsuite/27_io/filesystem/path/append/path.cc: Likewise.
* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
* testsuite/27_io/filesystem/path/concat/strings.cc: Fix comment.
* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
Likewise.
* testsuite/27_io/filesystem/path/generation/normal.cc: Use
compare_paths for more exhaustive checks. Add extra testcases.
* testsuite/27_io/filesystem/path/generation/proximate.cc: Use
compare_paths for more exhaustive checks.
* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
* testsuite/27_io/filesystem/path/generic/generic_string.cc: Remove
unused header.
* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: Fix
comment.
* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: Use
compare_paths for more exhaustive checks.
* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
Likewise.
* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
Likewise.
* testsuite/util/testsuite_fs.h (compare_paths): Also compare native
strings.
From-SVN: r254075
2017-10-25 13:42:53 +01:00
Richard Biener
5de583cc18
tree-ssa-sccvn.h (vn_eliminate): Declare.
...
2017-10-25 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.h (vn_eliminate): Declare.
* tree-ssa-pre.c (class eliminate_dom_walker, eliminate,
class pass_fre): Move to ...
* tree-ssa-sccvn.c (class eliminate_dom_walker, vn_eliminate,
class pass_fre): ... here and adjust for statistics.
From-SVN: r254074
2017-10-25 10:20:37 +00:00
Richard Biener
a596f4970e
re PR tree-optimization/82436 (465.tonto ICE in vect_get_slp_vect_defs, at tree-vect-slp.c:3410)
...
2017-10-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/82436
* gcc.dg/torture/pr82436-2.c: New testcase.
From-SVN: r254073
2017-10-25 09:59:39 +00:00
Paolo Carlini
7e252d9b9b
re PR c++/71820 (ICE on valid C++ code: in arg_assoc_type, at cp/name-lookup.c:5583)
...
2017-10-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71820
* g++.dg/ext/typeof12.C: New.
From-SVN: r254072
2017-10-25 09:55:21 +00:00
Tom de Vries
7e65575a0e
Fix scan-assembler in tree-ssa/loop-1.c for nvptx
...
2017-10-25 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/loop-1.c: Add xfail for nvptx in scan-assembler-times
line, and add nvptx-specific version.
From-SVN: r254071
2017-10-25 09:43:54 +00:00
Rainer Orth
5dd9af4977
Fix gcc.target/i386/cet-sjlj-5.c on Solaris
...
* gcc.target/i386/cet-sjlj-5.c: Allow for emtpy user label prefix
in setjmp call.
From-SVN: r254070
2017-10-25 09:15:30 +00:00
Jakub Jelinek
bc1a75dda2
re PR libstdc++/81706 (std::sin vectorization bug)
...
PR libstdc++/81706
* attribs.c (attribute_value_equal): Use omp_declare_simd_clauses_equal
for comparison of OMP_CLAUSEs regardless of flag_openmp{,_simd}.
(duplicate_one_attribute, copy_attributes_to_builtin): New functions.
* attribs.h (duplicate_one_attribute, copy_attributes_to_builtin): New
declarations.
* c-decl.c (merge_decls): Copy "omp declare simd" attributes from
newdecl to corresponding __builtin_ if any.
* decl.c (duplicate_decls): Copy "omp declare simd" attributes from
newdecl to corresponding __builtin_ if any.
* gcc.target/i386/pr81706.c: New test.
* g++.dg/ext/pr81706.C: New test.
From-SVN: r254069
2017-10-25 10:05:58 +02:00
Richard Biener
57904e87b9
tree-ssa-pre.c (need_eh_cleanup, [...]): Move inside...
...
2017-10-25 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (need_eh_cleanup, need_ab_cleanup, el_to_remove,
el_to_fixup, el_todo, el_avail, el_avail_stack, eliminate_avail,
eliminate_push_avail, eliminate_insert): Move inside...
(class eliminate_dom_walker): ... this class in preparation
of move.
(fini_eliminate): Remove by merging with ...
(eliminate): ... this function. Adjust for class changes.
(pass_pre::execute): Remove fini_eliminate call.
(pass_fre::execute): Likewise.
From-SVN: r254068
2017-10-25 07:08:12 +00:00
Jonathan Wakely
e921c7e5a6
PR libstdc++/82706 fix test for case where operations succeed
...
PR libstdc++/82706
* testsuite/27_io/filesystem/operations/permissions.cc: Fix test.
From-SVN: r254067
2017-10-25 01:27:10 +01:00
GCC Administrator
03ca5c55f9
Daily bump.
...
From-SVN: r254066
2017-10-25 00:16:17 +00:00
François Dumont
8468bfe8cb
libstdc++.exp (check_v3_target_normal_mode): Add c++config.h include.
...
2017-10-24 François Dumont <fdumont@gcc.gnu.org>
* testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add
c++config.h include.
(check_v3_target_normal_namespace): New.
* testsuite/lib/dg-options.exp (dg-require-normal-namespace): New.
* testsuite/18_support/headers/limits/synopsis.cc: Add latter.
* testsuite/20_util/from_chars/requirements.cc: Likewise.
* testsuite/20_util/headers/functional/synopsis.cc: Likewise.
* testsuite/20_util/headers/memory/synopsis.cc: Likewise.
* testsuite/20_util/headers/utility/synopsis.cc: Likewise.
* testsuite/20_util/to_chars/requirements.cc: Likewise.
* testsuite/21_strings/headers/string/synopsis.cc: Likewise.
* testsuite/22_locale/headers/locale/synopsis.cc: Likewise.
* testsuite/23_containers/headers/bitset/synopsis.cc: Likewise.
* testsuite/23_containers/headers/deque/synopsis.cc: Likewise.
* testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
* testsuite/23_containers/headers/map/synopsis.cc: Likewise.
* testsuite/23_containers/headers/queue/synopsis.cc: Likewise.
* testsuite/23_containers/headers/set/synopsis.cc: Likewise.
* testsuite/23_containers/headers/stack/synopsis.cc: Likewise.
* testsuite/23_containers/headers/vector/synopsis.cc: Likewise.
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/24_iterators/headers/iterator/synopsis.cc: Likewise.
* testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: Likewise.
* testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: Likewise.
* testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Likewise.
* testsuite/26_numerics/complex/abi_tag.cc: Likewise.
* testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
* testsuite/26_numerics/headers/valarray/synopsis.cc: Likewise.
* testsuite/27_io/headers/fstream/synopsis.cc: Likewise.
* testsuite/27_io/headers/ios/synopsis.cc: Likewise.
* testsuite/27_io/headers/istream/synopsis.cc: Likewise.
* testsuite/27_io/headers/ostream/synopsis.cc: Likewise.
* testsuite/27_io/headers/sstream/synopsis.cc: Likewise.
* testsuite/27_io/headers/streambuf/synopsis.cc: Likewise.
From-SVN: r254060
2017-10-24 20:20:12 +00:00
Jakub Jelinek
6ab5a6f30f
re PR target/82460 (AVX512: choose between vpermi2d and vpermt2d to save mov instructions. Also, fails to optimize away shifts before shuffle)
...
PR target/82460
* config/i386/sse.md (UNSPEC_VPERMI2, UNSPEC_VPERMI2_MASK): Remove.
(VPERMI2, VPERMI2I): New mode iterators.
(<avx512>_vpermi2var<mode>3_maskz): Remove 3 define_expand patterns.
(<avx512>_vpermi2var<mode>3<sd_maskz_name>): Remove 3 define_insn
patterns.
(<avx512>_vpermi2var<mode>3_mask): New define_expand using VPERMI2
mode iterator. Remove 3 old define_insn patterns.
(*<avx512>_vpermi2var<mode>3_mask): 2 new define_insn patterns.
(<avx512>_vpermt2var<mode>3_maskz): Adjust 1 define_expand to use
VPERMI2 mode iterator, remove the other two expanders.
(<avx512>_vpermt2var<mode>3<sd_maskz_name>): Adjust 1 define_insn
to use VPERMI2 mode iterator, add another alternative for vpermi2*
instructions, remove the other two patterns.
(<avx512>_vpermt2var<mode>3_mask): Adjust 1 define_insn to use VPERMI2
mode iterator, remove the other two patterns.
* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Renamed to ...
(ix86_expand_vec_perm_vpermt2): ... this. Swap mask and op0
arguments, use gen_*vpermt2* expanders instead of gen_*vpermi2*
and adjust argument order accordingly.
(ix86_expand_vec_perm): Adjust caller.
(expand_vec_perm_1): Likewise.
(expand_vec_perm_vpermi2_vpshub2): Rename to ...
(expand_vec_perm_vpermt2_vpshub2): ... this.
(ix86_expand_vec_perm_const_1): Adjust caller.
(ix86_vectorize_vec_perm_const_ok): Adjust comments.
* gcc.target/i386/pr82460-1.c: New test.
* gcc.target/i386/pr82460-2.c: New test.
* gcc.target/i386/avx512f-vpermt2pd-1.c: Adjust scan-assembler*
regexps to allow vpermt2* to vpermi2* replacement or vice versa
where possible.
* gcc.target/i386/avx512vl-vpermt2pd-1.c: Likewise.
* gcc.target/i386/avx512f-vpermt2d-1.c: Likewise.
* gcc.target/i386/vect-pack-trunc-2.c: Likewise.
* gcc.target/i386/avx512vl-vpermt2ps-1.c: Likewise.
* gcc.target/i386/avx512vl-vpermt2q-1.c: Likewise.
* gcc.target/i386/avx512f-vpermt2ps-1.c: Likewise.
* gcc.target/i386/avx512vl-vpermt2d-1.c: Likewise.
* gcc.target/i386/avx512bw-vpermt2w-1.c: Likewise.
* gcc.target/i386/avx512vbmi-vpermt2b-1.c: Likewise.
* gcc.target/i386/avx512f-vpermt2q-1.c: Likewise.
From-SVN: r254059
2017-10-24 21:35:37 +02:00
Jakub Jelinek
5c0331f62d
re PR target/82370 (AVX512 can use a memory operand for immediate-count vpsrlw, but gcc doesn't.)
...
PR target/82370
* config/i386/sse.md (VIMAX_AVX2): Remove V4TImode.
(VIMAX_AVX2_AVX512BW, VIMAX_AVX512VL): New mode iterators.
(vec_shl_<mode>): Remove unused expander.
(avx512bw_<shift_insn><mode>3): New define_insn.
(<sse2_avx2>_ashl<mode>3, <sse2_avx2>_lshr<mode>3): Replaced by ...
(<sse2_avx2>_<shift_insn><mode>3): ... this. New define_insn.
* gcc.target/i386/pr82370.c: New test.
From-SVN: r254058
2017-10-24 21:34:06 +02:00
Paolo Carlini
ff1ff960f5
re PR c++/82466 (Missing warning for re-declaration of built-in function as variable)
...
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82466
* doc/invoke.texi ([Wbuiltin-declaration-mismatch]): Extend
description.
/cp
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82466
* decl.c (duplicate_decls): Warn for built-in functions declared as
non-function, use OPT_Wbuiltin_declaration_mismatch.
* decl.c (duplicate_decls): Avoid redundant '+' in warning_at.
/c
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82466
* c-decl.c (diagnose_mismatched_decls): Use
OPT_Wbuiltin_declaration_mismatch.
/testsuite
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82466
* c-c++-common/Wbuiltin-declaration-mismatch-1.c: New.
* c-c++-common/Wno-builtin-declaration-mismatch-1.c: Likewise.
* g++.dg/warn/Wbuiltin_declaration_mismatch-1.C: Likewise.
* g++.dg/parse/builtin2.C: Adjust.
* g++.old-deja/g++.mike/p811.C: Likewise.
From-SVN: r254057
2017-10-24 19:01:03 +00:00
Wilco Dijkstra
f9f43fb3a8
Cleanup autopref scheduling
...
r253236 broke AArch64 bootstrap. Earlier revision r253071 changed scheduling
behaviour on AArch64 as autopref scheduling no longer checks the base.
This patch fixes the bootstrap failure and cleans up autopref scheduling.
The code is greatly simplified. Sort accesses on the offset first, and
only if the offsets are the same fall back to other comparisons in
rank_for_schedule. This doesn't at all restore the original behaviour
since we no longer compare the base address, but it now defines a total
sorting order. More work will be required to improve the sorting so
that only loads/stores with the same base are affected.
gcc/
PR rtl-optimization/82396
* gcc/haifa-sched.c (ready_sort_real): Remove qsort workaround.
(autopref_multipass_init): Simplify initialization.
(autopref_rank_data): Simplify sort order.
* gcc/sched-int.h (autopref_multipass_data_): Remove
multi_mem_insn_p, min_offset and max_offset.
From-SVN: r254056
2017-10-24 17:21:19 +00:00
Wilco Dijkstra
acea40ac74
PR60580: Fix frame pointer option magic
...
To fix PR60580 simplify the logic in aarch64_override_options_after_change_1 ().
If the frame pointer is enabled, set it to a special value that behaves similar
to frame pointer omission. If we don't do this all leaf functions will get a
frame pointer even if flag_omit_leaf_frame_pointer is set.
If flag_omit_frame_pointer has this special value, we must force the frame
pointer if not in a leaf function. We also need to force it in a leaf function
if flag_omit_frame_pointer is not set or if LR is used.
Doing this allows both -fomit-frame-pointer and -fomit-leaf-frame-pointer to be
independently set and changed in each function with the expected behaviour.
gcc/
PR middle-end/60580
* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
Check special value of flag_omit_frame_pointer.
(aarch64_can_eliminate): Likewise.
(aarch64_override_options_after_change_1): Simplify handling of
-fomit-frame-pointer and -fomit-leaf-frame-pointer.
From-SVN: r254052
2017-10-24 16:58:02 +00:00
Paolo Carlini
02b0c08c2c
re PR c++/80991 (ICE with __is_trivially_constructible in template)
...
/cp
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80991
* pt.c (value_dependent_expression_p, [TRAIT_EXPR]): Handle
a TREE_LIST as TRAIT_EXPR_TYPE2.
/testsuite
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80991
* g++.dg/ext/is_trivially_constructible5.C: New.
From-SVN: r254051
2017-10-24 16:41:05 +00:00
Rainer Orth
5cc75a43b1
Fix gcc.target/i386/387-ficom-[12].c on Solaris
...
* gcc.target/i386/387-ficom-1.c: Allow for ficomp without s
suffix.
* gcc.target/i386/387-ficom-2.c: Likewise.
From-SVN: r254050
2017-10-24 16:30:44 +00:00
Rainer Orth
2f5124a6e9
Fix gcc.target/i386/cet-sjlj-3.c on Solaris
...
* gcc.target/i386/cet-sjlj-3.c: Allow for emtpy user label prefix
in setjmp call.
From-SVN: r254049
2017-10-24 16:29:20 +00:00
Richard Biener
da76b2532f
re PR tree-optimization/82697 (Wrong optimization with aliasing and "if")
...
2017-10-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/82697
* tree-ssa-phiopt.c (cond_store_replacement): Use alias-set
zero for conditional load and unconditional store.
* gcc.dg/torture/pr82697.c: New testcase.
From-SVN: r254047
2017-10-24 13:51:45 +00:00
Mukesh Kapoor
eab01c18fd
re PR c++/82307 (unscoped enum-base incorrect cast)
...
/cp
2017-10-24 Mukesh Kapoor <mukesh.kapoor@oracle.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82307
* cvt.c (type_promotes_to): Implement C++17, 7.6/4, about unscoped
enumeration type whose underlying type is fixed.
/testsuite
2017-10-24 Mukesh Kapoor <mukesh.kapoor@oracle.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82307
* g++.dg/cpp0x/enum35.C: New.
* g++.dg/cpp0x/enum36.C: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r254046
2017-10-24 13:49:13 +00:00
Jonathan Wakely
d56a36834f
Avoid -Wattribute-alias warnings for long double compat symbols
...
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Ignore
-Wattribute-alias warnings.
* src/c++11/istream-inst.cc: Likewise.
* src/c++11/locale-inst.cc: Likewise.
* src/c++11/ostream-inst.cc: Likewise.
* src/c++11/wlocale-inst.cc: Likewise.
* src/c++98/hash-long-double-tr1-aux.cc: Likewise.
From-SVN: r254045
2017-10-24 14:18:59 +01:00
Jonathan Wakely
02e2a7d8ef
Refactor std::basic_string_view members and add noexcept
...
* include/bits/string_view.tcc (find_first_of, find_last_of)
(find_first_not_of, find_last_not_of): Add noexcept.
* include/std/string_view (basic_string_view(const _CharT*))
(basic_string_view(const _CharT*, size_type))
(front, back, remove_prefix, remove_suffix, find, rfind)
(find_first_of, find_first_not_of): Add noexcept.
(at(size_type), _S_compare(size_type, size_type)): Replace conditional
expressions with if statements.
(copy(_CharT*, size_type, size_type), substr(size_type, size_type)):
Use _M_check for length checks.
(compare(basic_string_view)): Reformat.
(_M_check(size_type, const char)): Add noexcept(false).
(_M_limit(size_type, size_type)): Use noexcept not _GLIBCXX_NOEXCEPT.
From-SVN: r254044
2017-10-24 14:18:52 +01:00
H.J. Lu
c58a9f350a
Add bootstrap-cet.mk to bootstrap GCC with Intel CET
...
Bootstrap GCC with Intel CET by configuring GCC with
--with-build-config="bootstrap-cet bootstrap-debug"
Tested on Linux/i686 and Linux/x86-64.
config/
* bootstrap-cet.mk: New file.
gcc/
* doc/install.texi: Document bootstrap-cet.
From-SVN: r254043
2017-10-24 05:50:03 -07:00
Alan Modra
160826fefd
PR82687, g++.dg/asan/default-options-1.C fails with PR82575 fix
...
The problem with making discarded symbols hidden is that the
non-default visibility is sticky. When symbols other than the
__gnu_lto ones are discarded that turns out to be a bad idea.
PR lto/82687
PR lto/82575
* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
Only make __gnu_lto symbols hidden. Delete outdated comment.
Silence ISO C warning.
From-SVN: r254042
2017-10-24 23:15:01 +10:30
Jonathan Wakely
6a19d2a2ee
PR libstdc++/82685 add 'noexcept' to string_view literals
...
PR libstdc++/82685
* include/experimental/string_view (operator""sv): Add noexcept.
* include/std/string_view (operator""sv): Likewise.
From-SVN: r254041
2017-10-24 12:28:40 +01:00
H.J. Lu
ec8f7ce607
i386: Don't insert ENDBR at function entrance when called directly
...
There is no need to insert ENDBR instruction at function entrance if
function is only called directly.
gcc/
PR target/82659
* config/i386/i386.c (rest_of_insert_endbranch): Don't insert
ENDBR instruction at function entrance if function is only
called directly.
gcc/testsuite/
PR target/82659
* gcc.target/i386/cet-label-2.c: New test.
* gcc.target/i386/cet-sjlj-4.c: Likewise.
* gcc.target/i386/cet-sjlj-5.c: Likewise.
* gcc.target/i386/cet-switch-3.c: Likewise.
* gcc.target/i386/pr82659-1.c: Likewise.
* gcc.target/i386/pr82659-2.c: Likewise.
* gcc.target/i386/pr82659-3.c: Likewise.
* gcc.target/i386/pr82659-4.c: Likewise.
* gcc.target/i386/pr82659-5.c: Likewise.
* gcc.target/i386/pr82659-6.c: Likewise.
From-SVN: r254040
2017-10-24 03:52:50 -07:00
Jakub Jelinek
b75200689b
re PR rtl-optimization/82628 (wrong code at -Os on x86_64-linux-gnu in the 32-bit mode)
...
PR target/82628
* config/i386/i386.md (addcarry<mode>, subborrow<mode>): Change
patterns to better describe from which operation the CF is computed.
(addcarry<mode>_0, subborrow<mode>_0): New patterns.
* config/i386/i386.c (ix86_expand_builtin) <case handlecarry>: Pass
one LTU with [DT]Imode and another one with [SD]Imode. If arg0
is 0, use _0 suffixed expanders instead of emitting a comparison
before it.
From-SVN: r254039
2017-10-24 12:44:56 +02:00
Sergey Shalnov
585a449d73
Avoid 512-bit mode MOV for prefer-avx256 option in Intel AVX512 configuration
...
gcc/
* config/i386/i386.md(*movsf_internal, *movdf_internal):
Avoid 512-bit AVX modes for TARGET_PREFER_AVX256.
From-SVN: r254038
2017-10-24 10:34:55 +00:00
Eric Botcazou
bc2a7cebfd
re PR middle-end/82569 (failure in 177.mesa cpu2000 test case after r253530)
...
PR middle-end/82569
* tree-outof-ssa.h (always_initialized_rtx_for_ssa_name_p): Delete.
* expr.c (expand_expr_real_1) <expand_decl_rtl>: Revert latest change.
* loop-iv.c (iv_get_reaching_def): Likewise.
* cfgexpand.c (expand_one_ssa_partition): Initialize the RTX if the
variable is promoted and the partition contains undefined values.
From-SVN: r254037
2017-10-24 07:26:52 +00:00
Richard Biener
d32bc875d2
re PR tree-optimization/82672 ([GRAPHITE] ICE in verify_gimple_in_cfg)
...
2017-10-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/82672
* graphite-isl-ast-to-gimple.c (graphite_copy_stmts_from_block):
Fold the stmt if we propagated into it.
* gfortran.dg/graphite/pr82672.f90: New testcase.
From-SVN: r254036
2017-10-24 07:02:48 +00:00
Sandra Loosemore
57f6a200e3
cdx-branch.c: Fix broken test.
...
2017-10-23 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* gcc.target/nios2/cdx-branch.c: Fix broken test.
* gcc.target/nios2/lo-addr-bypass.c: New.
* gcc.target/nios2/lo-addr-char.c: New.
* gcc.target/nios2/lo-addr-int.c: New.
* gcc.target/nios2/lo-addr-pic.c: New.
* gcc.target/nios2/lo-addr-short.c: New.
* gcc.target/nios2/lo-addr-tls.c: New.
* gcc.target/nios2/lo-addr-uchar.c: New.
* gcc.target/nios2/lo-addr-ushort.c: New.
* gcc.target/nios2/lo-addr-volatile.c: New.
From-SVN: r254035
2017-10-23 22:39:11 -04:00
Sandra Loosemore
efd5897cdf
nios2.c (nios2_rtx_costs): Make costs better reflect reality.
...
2017-10-23 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.c (nios2_rtx_costs): Make costs better
reflect reality.
(nios2_address_cost): Define.
(nios2_legitimize_address): Recognize (exp + constant) directly.
(TARGET_ADDRESS_COST): Define.
From-SVN: r254034
2017-10-23 22:37:02 -04:00
Sandra Loosemore
82348675ee
nios2-protos.h (nios2_large_constant_p): Declare.
...
2017-10-23 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2-protos.h (nios2_large_constant_p): Declare.
(nios2_symbolic_memory_operand_p): Declare.
(nios2_split_large_constant): Declare.
(nios2_split_symbolic_memory_operand): Declare.
* config/nios2/nios2.c: Adjust includes.
(nios2_symbolic_constant_allowed): New.
(nios2_symbolic_constant_p): New.
(nios2_plus_symbolic_constant_p): New.
(nios2_valid_addr_expr_p): Recognize addresses involving
symbolic constants.
(nios2_legitimate_address_p): Likewise, also LO_SUM.
(nios2_symbolic_memory_operand_p): New.
(nios2_large_constant_p): New.
(nios2_split_large_constant): New.
(nios2_split_plus_large_constant): New.
(nios2_split_symbolic_memory_operand): New.
(nios2_legitimize_address): Code refactoring. Handle addresses
involving symbolic constants.
(nios2_emit_move_sequence): Likewise.
(nios2_print_operand): Improve error output.
(nios2_print_operand_address): Handle LO_SUM.
(nios2_cdx_narrow_form_p): Likewise.
* config/nios2/nios2.md (movqi_internal): Add splitter for memory
operands involving symbolic constants.
(movhi_internal, movsi_internal): Likewise.
(zero_extendhisi2, zero_extendqi<mode>2): Likewise.
(extendhisi2, extendqi<mode>2): Likewise.
From-SVN: r254033
2017-10-23 22:35:50 -04:00
Sandra Loosemore
6642bfb2b8
tree-pass.h (PROP_rtl_split_insns): Define.
...
2017-10-23 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* tree-pass.h (PROP_rtl_split_insns): Define.
* recog.c (pass_data_split_all_insns): Provide PROP_rtl_split_insns.
From-SVN: r254032
2017-10-23 22:24:34 -04:00
Sandra Loosemore
a6d9541dc3
nios2.c (TARGET_LRA_P): Don't override.
...
2017-10-23 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.c (TARGET_LRA_P): Don't override.
From-SVN: r254031
2017-10-23 22:00:34 -04:00
GCC Administrator
71818649d7
Daily bump.
...
From-SVN: r254030
2017-10-24 00:16:15 +00:00
Paolo Carlini
403226f0ed
re PR c++/80449 (ICE reporting failed partial class template specialization class template argument deduction)
...
/cp
2017-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80449
* semantics.c (finish_compound_literal): Check do_auto_deduction
return value for error_mark_node.
/testsuite
2017-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80449
* g++.dg/cpp1z/class-deduction46.C: New.
From-SVN: r254026
2017-10-23 21:37:59 +00:00
Jakub Jelinek
6b10f1741a
re PR debug/82630 (Bogus DW_AT_GNU_call_site_value)
...
PR debug/82630
* target.def (const_not_ok_for_debug_p): Default to
default_const_not_ok_for_debug_p instead of hook_bool_rtx_false.
* targhooks.h (default_const_not_ok_for_debug_p): New declaration.
* targhooks.c (default_const_not_ok_for_debug_p): New function.
* dwarf2out.c (const_ok_for_output_1): Only reject UNSPECs for
which targetm.const_not_ok_for_debug_p returned true.
* config/arm/arm.c (arm_const_not_ok_for_debug_p): Return true
for UNSPECs.
* config/powerpcspe/powerpcspe.c (rs6000_const_not_ok_for_debug_p):
Likewise.
* config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): Likewise.
* config/i386/i386.c (ix86_delegitimize_address_1): Don't delegitimize
UNSPEC_GOTOFF with addend into addend - _GLOBAL_OFFSET_TABLE_ + symbol
if !base_term_p.
(ix86_const_not_ok_for_debug_p): New function.
(i386_asm_output_addr_const_extra): Handle UNSPEC_GOTOFF.
(TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
* g++.dg/guality/pr82630.C: New test.
From-SVN: r254025
2017-10-23 22:39:59 +02:00
David Malcolm
b367de5dc3
Add INCLUDE_UNIQUE_PTR and use it (PR bootstrap/82610)
...
gcc/ChangeLog:
PR bootstrap/82610
* system.h: Conditionally include "unique-ptr.h" if
INCLUDE_UNIQUE_PTR is defined.
* unique-ptr-tests.cc: Remove include of "unique-ptr.h" in favor
of defining INCLUDE_UNIQUE_PTR before including "system.h".
include/ChangeLog:
* unique-ptr.h: Make include of <memory> conditional on C++11 or
later.
From-SVN: r254024
2017-10-23 20:25:58 +00:00
Jason Merrill
802561b2cc
PR c++/77369 - wrong noexcept handling in C++14 and below
...
* tree.c (strip_typedefs): Canonicalize TYPE_RAISES_EXCEPTIONS.
From-SVN: r254022
2017-10-23 15:06:37 -04:00
Jason Merrill
52c91d3aaf
* g++.dg/opt/pr82577: Fix for C++17.
...
From-SVN: r254021
2017-10-23 15:06:32 -04:00
Uros Bizjak
33029fa9d2
re PR target/82662 (ifcvt is not performed on double-word compare)
...
PR target/82662
* gcc.target/i386/pr82662.c: New test.
From-SVN: r254020
2017-10-23 21:01:38 +02:00
Sebastian Perta
5feee954e8
rl78.md: New define_expand "subdi3".
...
* config/rl78/rl78.md: New define_expand "subdi3".
* config/rl78/subdi3.S: New assembly file.
* config/rl78/t-rl78: Added subdi3.S to LIB2ADD.
From-SVN: r254019
2017-10-23 13:54:02 -04:00
Sebastian Perta
8cb41ec663
Forgot to add the new file :-P 2017-10-13 Sebastian Perta <sebastian.perta@renesas.com>
...
Forgot to add the new file :-P
2017-10-13 Sebastian Perta <sebastian.perta@renesas.com>
* config/rl78/adddi3.S: New assembly file.
* config/rl78/t-rl78: Added adddi3.S to LIB2ADD.
From-SVN: r254016
2017-10-23 13:30:22 -04:00
Marek Polacek
d104746519
re PR c/82681 (c-warn.c:1218: typo in warning message)
...
PR c/82681
* c-warn.c (warnings_for_convert_and_check): Fix typos.
* gcc.dg/c90-const-expr-11.c: Fix typos in dg-warning.
* gcc.dg/overflow-warn-5.c: Likewise.
* gcc.dg/overflow-warn-8.c: Likewise.
From-SVN: r254014
2017-10-23 17:03:11 +00:00