Commit Graph

153821 Commits

Author SHA1 Message Date
Jonathan Wakely
37f7230a10 Define __cpp_lib_byte feature-test macro
* include/c_global/cstddef: Define __cpp_lib_byte feature-test macro.
	* testsuite/18_support/byte/requirements.cc: Check macro.

From-SVN: r253953
2017-10-20 19:19:09 +01:00
Thomas Koenig
313b789516 backport: re PR fortran/79795 (Fortran ICE in resolve_symbol starting with r163221)
2017-10-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/79795
	* resolve.c (resovle_symbol): Change gcc_assert to
	sensible error message.

2017-10-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/79795
	* gfortran.dg/assumed_size_2.f90: New test.

From-SVN: r253951
2017-10-20 18:01:36 +00:00
Jonathan Wakely
774310c50c PR libstdc++/82481 Suppress clang-tidy warnings
Backport from mainline
2017-10-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/82481
	* include/std/mutex (call_once): Suppress clang-tidy warnings about
	dangling references.

From-SVN: r253944
2017-10-20 16:14:33 +01:00
Jonathan Wakely
7759a387e2 PR libstdc++/79433 no #error for including headers with wrong -std
Backport from mainline
2017-09-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/79433
	* doc/xml/manual/status_cxx2017.xml: Update feature-test macros.
	* doc/html/*: Regenerate.
	* include/Makefile.am: Remove <bits/c++17_warning.h>.
	* include/Makefile.in: Regenerate.
	* include/bits/c++17_warning.h: Remove.
	* include/bits/string_view.tcc: Do not include <bits/c++17_warning.h>
	for pre-C++17 modes.
	* include/std/any: Likewise.
	(__cpp_lib_any): Define.
	* include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new
	SD-6 draft.
	* include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6
	draft.
	* include/std/optional: Do not include <bits/c++17_warning.h>.
	(__cpp_lib_optional): Define.
	* include/std/shared_mutex: Do not include <bits/c++14_warning.h>.
	* include/std/string_view: Do not include <bits/c++17_warning.h>.
	(__cpp_lib_string_view): Define.
	* include/std/variant: Do not include <bits/c++17_warning.h>.
	(__cpp_lib_variant): Define.
	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm.
	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm.
	* testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust
	expected value of __cpp_lib_scoped_lock.

From-SVN: r253943
2017-10-20 16:14:29 +01:00
Jonathan Wakely
24aeb1b939 Fix path::iterator post-increment and post-decrement
Backport from mainline
2017-10-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/bits/fs_path.h (path::iterator++(int))
	(path::iterator--(int)): Fix for paths with only one component.
	* testsuite/experimental/filesystem/path/itr/traversal.cc: Test
	post-increment and post-decrement.

From-SVN: r253942
2017-10-20 16:14:23 +01:00
Richard Biener
47ffadd915 re PR tree-optimization/82603 (ICE in ifcvt_local_dce w/ -O2 -ftree-loop-vectorize)
2017-10-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82603
	* tree-if-conv.c (predicate_mem_writes): Make sure to only
	remove false predicated stores.

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

From-SVN: r253932
2017-10-20 11:19:03 +00:00
Richard Biener
29ad09f6a8 backport: re PR tree-optimization/82436 (465.tonto ICE in vect_get_slp_vect_defs, at tree-vect-slp.c:3410)
2017-10-20  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2017-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82436
	* tree-vect-slp.c (vect_supported_load_permutation_p): More
	conservatively choose the vectorization factor when checking
	whether we can perform the required load permutation.
	(vect_transform_slp_perm_load): Assert when we may not fail.

	* gcc.dg/vect/pr82436.c: New testcase.

From-SVN: r253931
2017-10-20 11:18:00 +00:00
Jakub Jelinek
17858ef228 re PR sanitizer/82595 (bootstrap fails in libsanitizer on powerpc64-unknown-linux-gnu)
PR sanitizer/82595
	* lsan/Makefile.am (lsan_files): Remove lsan_preinit.cc.
	* lsan/Makefile.in: Regenerated.

From-SVN: r253927
2017-10-20 10:01:31 +02:00
GCC Administrator
1f3c9ed4ce Daily bump.
From-SVN: r253918
2017-10-20 00:16:10 +00:00
Thomas Koenig
2e2128b7c6 backport: re PR libfortran/82233 (execute_command_line causes program to stop when command fails (or does not exist))
2017-10-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR libfortran/82233
	* intrinsics/execute_command_line.c (execute_command_line):
	No call to runtime_error if cmdstat is present.

2017-10-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR libfortran/82233
	* gfortran.dg/execute_command_line_3.f90: New test.

From-SVN: r253907
2017-10-19 17:49:24 +00:00
Richard Earnshaw
ca7e162896 [ARM] PR 82445 - suppress 32-bit aligned ldrd/strd peepholing with -mno-unaligned-access
Peephole patterns exist in the arm backend to spot load/store
operations to adjacent memory operations in order to convert them into
ldrd/strd instructions.  However, when we have strict alignment
enforced, then we can only do this if the accesses are known to be
64-bit aligned; this is unlikely to be the case for most loads.  The
patch adds some alignment checking to the code that validates the
addresses for use in the peephole patterns.  This should also fix
incorrect generation of ldrd/strd with unaligned accesses that could
previously have occurred on ARMv5e where all such operations must be
64-bit aligned.

I've added some new tests as well.  In doing so I discovered that the
ldrd/strd peephole tests could never fail since they would match the
source file name in the scanned assembly as well as any instructions
of the intended type.  I've fixed those by tightening the scan results
slightly.

gcc:

* config/arm/arm.c (align_ok_ldrd_strd): New function.
(mem_ok_for_ldrd_strd): New parameter align.  Extract the alignment of the
mem into it.
(gen_operands_ldrd_strd): Validate the alignment of the accesses.

testsuite:

* gcc.target/arm/peep-ldrd-1.c: Tighten test scan pattern.
* gcc.target/arm/peep-strd-1.c: Likewise.
* gcc.target/arm/peep-ldrd-2.c: New test.
* gcc.target/arm/peep-strd-2.c: New test.

From-SVN: r253891
2017-10-19 13:14:55 +00:00
GCC Administrator
925a6f3aaa Daily bump.
From-SVN: r253875
2017-10-19 00:16:09 +00:00
Segher Boessenkool
b0a9b256be ira: volatile asm's are not moveable (PR82602)
A volatile asm statement can not be moved (relative to other volatile
asm, etc.), but IRA would do it nevertheless.  This patch fixes it.


	PR rtl-optimization/82602
	* ira.c (rtx_moveable_p): Return false for volatile asm.

From-SVN: r253870
2017-10-18 23:13:16 +02:00
Vladimir Makarov
9aae1b1f15 re PR middle-end/82556 (internal compiler error in curr_insn_transform, at lra-constraints.c:4307)
2017-10-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/82556
	* lra-constraints.c (curr_insn_transform): Use non-input operand
	instead of output one for matched reload.

2017-10-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/82556
	* gcc.target/i386/pr82556.c: New.

From-SVN: r253863
2017-10-18 16:47:38 +00:00
GCC Administrator
184fb54d80 Daily bump.
From-SVN: r253839
2017-10-18 00:16:10 +00:00
Eric Botcazou
ec13b9b06d * gcc.dg/attr-alloc_size-11.c: UnXFAIL for visium-*-*.
From-SVN: r253832
2017-10-17 20:34:43 +00:00
Nathan Sidwell
a203c78308 [C++ PATCH 82560] missing dtor call
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01068.html
	PR c++/82560
	* call.c (build_over_call): Don't pass tf_no_cleanup to nested
	calls.

	PR c++/82560
	* g++.dg/cpp0x/pr82560.C: New.

From-SVN: r253822
2017-10-17 17:27:11 +00:00
Jakub Jelinek
0c2ff9c396 re PR tree-optimization/82549 (ICE at -O1 and above: verify_gimple failed)
PR tree-optimization/82549
	* fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
	Formatting fixes.  Instead of calling make_bit_field_ref with negative
	bitpos return 0.

	* gcc.c-torture/compile/pr82549.c: New test.

From-SVN: r253816
2017-10-17 16:47:15 +02:00
GCC Administrator
7ea6f14bdc Daily bump.
From-SVN: r253800
2017-10-17 00:16:11 +00:00
Paul Thomas
ce229d5066 re PR fortran/52832 ([F03] ASSOCIATE construct with proc-pointer selector is rejected)
2017-10-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/52832
	* match.c (gfc_match_associate): Before failing the association
	try again, allowing a proc pointer selector.

	PR fortran/80120
	PR fortran/81903
	PR fortran/82121
	* primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
	points to the associate selector, if any. Go through selector
	references, after resolution for variables, to catch any full
	or section array references. If a class associate name does
	not have the same declared type as the selector, resolve the
	selector and copy the declared type to the associate name.
	Before throwing a no implicit type error, resolve all allowed
	selector expressions, and copy the resulting typespec.

	PR fortran/67543
	* resolve.c (resolve_assoc_var): Selector must cannot be the
	NULL expression and it must have a type.

	PR fortran/78152
	* resolve.c (resolve_symbol): Allow associate names to be
	coarrays.

2017-10-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/78512
	* gfortran.dg/associate_9.f03 : Remove XFAIL.
	* gfortran.dg/associate_26.f90 : New test.

	PR fortran/80120
	* gfortran.dg/associate_27.f90 : New test.

	PR fortran/81903
	* gfortran.dg/associate_28.f90 : New test.

	PR fortran/82121
	* gfortran.dg/associate_29.f90 : New test.

	PR fortran/67543
	* gfortran.dg/associate_30.f90 : New test.

From-SVN: r253794
2017-10-16 19:44:04 +00:00
Paul Thomas
ac7b259d92 re PR fortran/81048 (incorrect derived type initialization)
2017-10-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81048
	* resolve.c (resolve_symbol): Ensure that derived type array
	results get default initialization.

2017-10-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81048
	* gfortran.dg/derived_init_4.f90 : New test.

From-SVN: r253793
2017-10-16 18:48:56 +00:00
GCC Administrator
0e5c063608 Daily bump.
From-SVN: r253774
2017-10-16 00:16:09 +00:00
Ian Lance Taylor
149331ec5f re PR go/82559 (libgo bootstrap broken on at least alpha, s390x)
PR go/82559
Backport from mainline:
    https://golang.org/cl/46712
    https://golang.org/cl/46839

From-SVN: r253770
2017-10-15 19:45:33 +00:00
GCC Administrator
e6e519fb4f Daily bump.
From-SVN: r253766
2017-10-15 00:16:11 +00:00
GCC Administrator
8a8ca5ed30 Daily bump.
From-SVN: r253746
2017-10-14 00:16:11 +00:00
Jakub Jelinek
7aaf7ebd9b re PR target/82274 (__builtin_mul_overflow fails to detect overflow for int64_t when compiled with -m32)
PR target/82274
	* internal-fn.c (expand_mul_overflow): If both operands have
	the same highpart of -1 or 0 and the topmost bit of lowpart
	is different, overflow is if res <= 0 rather than res < 0.

	* libgcc2.c (__mulvDI3): If both operands have
	the same highpart of -1 and the topmost bit of lowpart is 0,
	multiplication overflows even if both lowparts are 0.

	* gcc.dg/pr82274-1.c: New test.
	* gcc.dg/pr82274-2.c: New test.

From-SVN: r253735
2017-10-13 19:26:28 +02:00
Jakub Jelinek
f35018157d re PR target/82524 (expensive-optimizations produces wrong results)
PR target/82524
	* config/i386/i386.md (addqi_ext_1, andqi_ext_1,
	*andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
	=Q constraints to +Q and into insn condition add check
	that operands[0] and operands[1] are equal.
	(*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
	=Q constraints to +Q and into insn condition add check
	that operands[0] is equal to either operands[1] or operands[2].

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

From-SVN: r253711
2017-10-13 09:39:42 +02:00
GCC Administrator
49edf1686f Daily bump.
From-SVN: r253703
2017-10-13 00:16:09 +00:00
GCC Administrator
975298370a Daily bump.
From-SVN: r253669
2017-10-12 00:16:08 +00:00
GCC Administrator
8a6d0ecfa1 Daily bump.
From-SVN: r253626
2017-10-11 00:16:09 +00:00
Paolo Carlini
d2113c13ef elf.c: Fix typo in the last commit, SFH_COMPRESSED vs SHF_COMPRESSED.
2017-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* elf.c: Fix typo in the last commit, SFH_COMPRESSED vs SHF_COMPRESSED.

From-SVN: r253607
2017-10-10 19:58:49 +00:00
Andreas Tobler
0065f0d500 backport: config.gcc: (armv7*-*-freebsd*): New target.
2017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    Backported from mainline r253602
    2017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc: (armv7*-*-freebsd*): New target.
    (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.

From-SVN: r253603
2017-10-10 20:43:47 +02:00
Ian Lance Taylor
4b8401f477 re PR go/80914 (gcc-go binaries don't run)
PR go/80914
	* elf.c (SHF_COMPRESSED): Define.
	(elf_add): Ignore debug sections with SHF_COMPRESSED set.

From-SVN: r253594
2017-10-10 16:55:04 +00:00
GCC Administrator
0bf35f65aa Daily bump.
From-SVN: r253573
2017-10-10 00:16:19 +00:00
James Cowgill
9a3a146277 Backport correct Go MIPS architecture names from trunk.
Brings in the following patches:
    https://golang.org/cl/46150
    https://golang.org/cl/46151
    https://golang.org/cl/46152
    https://golang.org/cl/46153
    https://golang.org/cl/46154
    https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01777.html

	* go.test/go-test.exp (go-set-goarch): Update MIPS architecture names.

From-SVN: r253551
2017-10-09 16:59:38 +00:00
GCC Administrator
4bd0f26039 Daily bump.
From-SVN: r253535
2017-10-09 00:16:14 +00:00
GCC Administrator
abfe8859e2 Daily bump.
From-SVN: r253518
2017-10-08 00:16:13 +00:00
GCC Administrator
335a0a2964 Daily bump.
From-SVN: r253505
2017-10-07 00:16:16 +00:00
Jakub Jelinek
a45258d20b re PR c++/82299 (-Wuseless-cast errors on typed enums used in member data initializers in c++1z)
PR c++/82299
	* decl.c (reshape_init): Suppress warn_useless_cast for direct enum
	init.
	* typeck.c (convert_for_assignment): Likewise.

	* g++.dg/cpp0x/pr82299.C: New test.

From-SVN: r253499
2017-10-06 20:00:54 +02:00
Christophe Lyon
1e28109018 [AArch64] Backport to gcc-7 PR71727 fix -mstrict-align
2017-10-06  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	Backport from mainline r253242.
	2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/71727
	* config/aarch64/aarch64.c
	(aarch64_builtin_support_vector_misalignment): Always return false
	when misalignment is unknown.

	gcc/testsuite/
	Backport from mainline r253251.
	2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/71727
	* gcc.target/aarch64/pr71727-2.c: New test.

From-SVN: r253477
2017-10-06 09:38:51 +02:00
GCC Administrator
32fe08bb83 Daily bump.
From-SVN: r253471
2017-10-06 00:16:20 +00:00
Jason Merrill
74a2b1d572 * call.c (convert_arg_to_ellipsis): Use the result of force_rvalue.
From-SVN: r253466
2017-10-05 17:43:01 -04:00
Eric Botcazou
f64766fde8 re PR ada/82393 (Compilation error on cygwin64)
PR ada/82393
	* mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete.
	* sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin.

From-SVN: r253455
2017-10-05 16:32:40 +00:00
H.J. Lu
43ea71b175 Add sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC
Since size of "void *" is 4 bytes for x32, check if __x86_64__ is defined
by $CC, instead of

if test x$ac_cv_sizeof_void_p = x8; then

to decide wether sanitizer_linux_x86_64.lo should be used.

	Backported from mainline
	PR sanitizer/82379
	* configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Set
	to sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC.

From-SVN: r253442
2017-10-05 03:45:04 -07:00
GCC Administrator
8f88128566 Daily bump.
From-SVN: r253435
2017-10-05 00:16:14 +00:00
Jason Merrill
3eb1e9c89d PR c++/82406 - C++17 error with noexcept function type
PR c++/70029 - ICE with ref-qualifier and -flto
gcc/
	* langhooks.h (struct lang_hooks_for_types): Add
	copy_lang_qualifiers.
	* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
	NULL.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
	* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
	(build_type_attribute_qual_variant): Use copy_lang_qualifiers.
gcc/cp/
	* tree.c (cxx_copy_lang_qualifiers): New.
	* cp-tree.h: Declare it.
	* cp-objcp-common.h: Define LANG_HOOKS_COPY_LANG_QUALIFIERS.

From-SVN: r253424
2017-10-04 13:47:08 -04:00
Jason Merrill
3d2be6b44d PR c++/81525 - broken handling of auto in generic lambda.
* pt.c (tsubst_decl) [VAR_DECL]: Use strip_innermost_template_args.

From-SVN: r253415
2017-10-04 11:38:24 -04:00
GCC Administrator
b33d945ba8 Daily bump.
From-SVN: r253392
2017-10-04 00:16:17 +00:00
Thomas Koenig
0efe5ea92c backport: re PR fortran/80118 (ICE with zero size parameter array)
2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/80118
	* expr.c (gfc_get_full_arrayspec_from_expr): If there is
	no symtree, set array spec to NULL.

2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/80118
	* gfortran.dg/zero_sized_7.f90: New test.



Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r253383
2017-10-03 15:50:45 +00:00
GCC Administrator
ede8827db7 Daily bump.
From-SVN: r253375
2017-10-03 00:16:13 +00:00