Commit Graph

153653 Commits

Author SHA1 Message Date
Martin Jambor
aafe60b2f4 [PR 81702] Remove devirtualization assert
2017-11-01  Martin Jambor  <mjambor@suse.cz>

	PR c++/81702
	* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert.

testsuite/
	* g++.dg/tree-ssa/pr81702.C: New test.

From-SVN: r254295
2017-11-01 11:35:13 +01:00
Paul Thomas
1281989b2b re PR libfortran/80850 (Sourced allocate() fails to allocate a pointer)
2017-11-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80850
	* trans_expr.c (gfc_conv_procedure_call): When passing a class
	argument to an unlimited polymorphic dummy, it is wrong to cast
	the passed expression as unlimited, unless it is unlimited. The
	correct way is to assign to each of the fields and set the _len
	field to zero.

2017-11-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80850
	* gfortran.dg/class_64_f90 : New test.

From-SVN: r254293
2017-11-01 09:33:26 +00:00
GCC Administrator
9f746a1f29 Daily bump.
From-SVN: r254286
2017-11-01 00:16:16 +00:00
Uros Bizjak
902b2d9d0a re PR target/82772 (GCC crashes as compiling ags_thread.c source file on alpha architecture)
PR target/82772
	* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".

From-SVN: r254254
2017-10-31 11:34:55 +01:00
GCC Administrator
9e87e3a81e Daily bump.
From-SVN: r254248
2017-10-31 00:16:10 +00:00
Paolo Carlini
4fb0491161 re PR c++/82085 (ICE: Template variable reference used in nested template alias)
/cp
2017-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/82085
	* pt.c (tsubst_copy_and_build, [INDIRECT_REF]): For a REFERENCE_REF_P,
	unconditionally call convert_from_reference.

/testsuite
2017-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/82085
	* g++.dg/cpp1y/var-templ56.C: New.

From-SVN: r254240
2017-10-30 19:17:40 +00:00
GCC Administrator
5a69d9d5da Daily bump.
From-SVN: r254209
2017-10-30 00:16:18 +00:00
GCC Administrator
56ee567a87 Daily bump.
From-SVN: r254202
2017-10-29 00:16:09 +00:00
Andre Vehreschild
202536931c check.c (gfc_check_co_reduce): Clarify error message.
gcc/fortran/ChangeLog:

2017-10-28  Andre Vehreschild  <vehre@gcc.gnu.org>

	* check.c (gfc_check_co_reduce): Clarify error message.

From-SVN: r254198
2017-10-28 16:56:06 +02:00
Paul Thomas
d138f8ec62 re PR fortran/81758 ([OOP] Broken vtab)
2017-10-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81758
	* trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
	must only be set if the right hand side expression is of type
	class.

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

	PR fortran/81758
	* gfortran.dg/class_63.f90: New test.

From-SVN: r254196
2017-10-28 08:53:19 +00:00
GCC Administrator
6db8d46fb4 Daily bump.
From-SVN: r254191
2017-10-28 00:16:13 +00:00
Jakub Jelinek
9dccb36f6b backport: re PR c++/82159 (ICE: in assign_temp, at function.c:961)
Backported from mainline
	2017-10-12  Jakub Jelinek  <jakub@redhat.com>

	PR c++/82159
	* expr.c (store_field): Don't optimize away bitsize == 0 store
	from CALL_EXPR with addressable return type.

	* g++.dg/opt/pr82159-2.C: New test.

From-SVN: r254181
2017-10-27 22:35:06 +02:00
Jakub Jelinek
02a55dcbaf backport: re PR c++/82373 (syntax error in error message)
Backported from mainline
	2017-10-04  Jakub Jelinek  <jakub@redhat.com>

	PR c++/82373
	* error.c (dump_function_decl): If show_return, call dump_type_suffix
	on the same return type dump_type_prefix has been called on.

	* g++.dg/cpp1y/pr82373.C: New test.

From-SVN: r254180
2017-10-27 22:34:22 +02:00
Jakub Jelinek
d84264fb75 backport: re PR sanitizer/81715 (asan-stack=1 redzone allocation is too inflexible)
Backported from mainline
	2017-09-21  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/81715
	* tree-inline.c (expand_call_inline): Emit clobber stmts for
	VAR_DECLs to which addressable non-volatile parameters are mapped
	and for id->retvar after the return value assignment, though
	for -fsanitize=kernel-address only.  Clear id->retval and id->retbnd
	after inlining.

	* g++.dg/asan/pr81715.C: New test.

From-SVN: r254179
2017-10-27 22:33:35 +02:00
Jakub Jelinek
7b3d2ce965 backport: re PR c/82234 (__builtin_shuffle is not in the keyword index)
Backported from mainline
	2017-09-18  Jakub Jelinek  <jakub@redhat.com>

	PR c/82234
	* doc/extend.texi: Add @findex entry for __builtin_shuffle.

From-SVN: r254178
2017-10-27 22:32:47 +02:00
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