Commit Graph

153588 Commits

Author SHA1 Message Date
Jakub Jelinek
eeecd15ffc backport: re PR rtl-optimization/82192 (gcc produces incorrect code with -O2 and bit-field)
Backported from mainline
	2017-09-15  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/82192
	* combine.c (make_extraction): Don't look through non-paradoxical
	SUBREGs or TRUNCATE if pos + len is or might be bigger than
	inner's mode.

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

From-SVN: r254177
2017-10-27 22:32:21 +02:00
Jerry DeLisle
ee3ac71709 Rimvydas (RJ)
2017-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Rimvydas (RJ)

	Backport from trunk
	PR libgfortran/81938
	io/format.c (free_format_data): Don't try to free vlist
	descriptors past the end of the fnode array.

From-SVN: r254169
2017-10-27 18:51:35 +00:00
Jakub Jelinek
dba9a0fe80 re PR target/82703 (Wrong addition of std::array components with -O2 -ftree-loop-vectorize -ftree-slp-vectorize (works fine with -O2))
PR target/82703
	* config/i386/i386-protos.h (maybe_get_pool_constant): Removed.
	* config/i386/i386.c (maybe_get_pool_constant): Removed.
	(ix86_split_to_parts): Use avoid_constant_pool_reference instead of
	maybe_get_pool_constant.
	* config/i386/predicates.md (zero_extended_scalar_load_operand):
	Likewise.

	* gcc.dg/pr82703.c: New test.

From-SVN: r254146
2017-10-27 14:25:34 +02:00
GCC Administrator
c14baec783 Daily bump.
From-SVN: r254130
2017-10-27 00:16:15 +00:00
GCC Administrator
8c8bbddf95 Daily bump.
From-SVN: r254095
2017-10-26 00:16:09 +00:00
Jonathan Wakely
21197715b3 Update C++17 library status documentation
* doc/xml/manual/status_cxx1998.xml: Correct statement about
        what the doc covers.
        * doc/xml/manual/status_cxx2011.xml: Likewise.
        * doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Update C++17 status, and
	information on feature-test macros.
        * doc/xml/manual/status_cxxtr1.xml: Correct statement about what
        the doc covers.
        * doc/xml/manual/status_cxxtr24733.xml: Likewise.
	* doc/html/*: Regenerate.

From-SVN: r254080
2017-10-25 15:18:43 +01:00
GCC Administrator
ebeefa2420 Daily bump.
From-SVN: r254065
2017-10-25 00:16:12 +00:00
Qing Zhao
631e4d36eb re PR middle-end/80295 (ICE in __builtin_update_setjmp_buf expander)
gcc/ChangeLog

2017-10-24  Qing Zhao <qing.zhao@oracle.com>
	    Wilco Dijkstra <wilco.dijkstra@arm.com>

        * builtins.c (expand_builtin_update_setjmp_buf): Add a
        converstion to Pmode from the buf_addr.

gcc/testsuite/ChangeLog

2017-10-24  Qing Zhao <qing.zhao@oracle.com>
	    Wilco Dijkstra <wilco.dijkstra@arm.com>

        PR middle-end/80295
        * gcc.target/aarch64/pr80295.c: New test.

Co-Authored-By: Wilco Dijkstra <wdijkstr@arm.com>

From-SVN: r254063
2017-10-24 22:46:19 +00:00
GCC Administrator
58b9b59192 Daily bump.
From-SVN: r254029
2017-10-24 00:16:10 +00:00
Jonathan Wakely
032c672c5c PR libstdc++/81395 fix crash when write follows large read
Backport from mainline
2017-07-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/81395
	* include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer
	pointers for write mode after reading.
	* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New.

From-SVN: r254015
2017-10-23 18:16:38 +01:00
GCC Administrator
9063c5acf2 Daily bump.
From-SVN: r253995
2017-10-23 00:16:10 +00:00
GCC Administrator
be3b9654c9 Daily bump.
From-SVN: r253981
2017-10-22 00:16:10 +00:00
Paul Thomas
735b7d675a re PR fortran/82312 ([OOP] Pointer assignment to component of class variable results wrong vptr for the variable.)
2017-10-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82312
	* resolve.c (gfc_resolve_code): Simplify condition for class
	pointer assignments becoming regular assignments by asserting
	that only class valued targets are permitted.
	* trans-expr.c (trans_class_pointer_fcn): New function using a
	block of code from gfc_trans_pointer_assignment.
	(gfc_trans_pointer_assignment): Call the new function. Tidy up
	a minor whitespace issue.

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

	PR fortran/82312
	* gfortran.dg/typebound_proc_36.f90 : New test.

From-SVN: r253976
2017-10-21 17:09:43 +00:00
Eric Botcazou
1b962a501d * gcc-interface/Makefile.in: Remove bogus settings for VxWorks.
From-SVN: r253974
2017-10-21 10:45:44 +00:00
Jonathan Wakely
30be09e339 Fix invalid path::iterator test
* testsuite/experimental/filesystem/path/itr/traversal.cc: Do not
	increment past-the-end iterators.

From-SVN: r253968
2017-10-21 02:16:57 +01:00
GCC Administrator
cf1e972744 Daily bump.
From-SVN: r253965
2017-10-21 00:16:09 +00:00
Jonathan Wakely
dc0d363ff9 Update value of __cpp_lib_chrono feature-test macro
* include/std/chrono (__cpp_lib_chrono): Update macro value to
	indicate support for P0505R0.
	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Check
	for updated macro.

From-SVN: r253960
2017-10-20 22:06:20 +01:00
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