Commit Graph

165750 Commits

Author SHA1 Message Date
Jonathan Wakely
a7a6c14a55 Fix [fs.path.gen] tests to use backslashes for mingw
The normalized paths contain backslashes so fix the expected values to
use backslashes too.

	* testsuite/27_io/filesystem/path/generation/proximate.cc: Use
	preferred directory separators for normalized paths.
	* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.

From-SVN: r267090
2018-12-13 12:26:52 +00:00
Jonathan Wakely
ebfaf34570 Fix test to work when path::native() returns wstring
* testsuite/27_io/filesystem/path/itr/traversal.cc: Fix test for
	mingw.

From-SVN: r267089
2018-12-13 12:09:33 +00:00
Andreas Krebbel
a00ccce858 S/390: Fix zvector vec_double builtin
The (unsigned) long int to double vector conversion instructions
expect 2 immediate parameters. One for the inexact suppression
control and another one for the rounding mode.  However, the
vec_double builtin has just the vector source operand.  The 2
addtional operands need to be added with an intermediate expander.
The expanders were already there but unfortunately not wired up
correctly to the builtin.

gcc/ChangeLog:

2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/s390/s390-builtins.def (s390_vec_double_s64): Map to
	s390_vec_double_s64 instead of s390_vcdgb.
	(s390_vec_double_u64): Map to s390_vec_double_u64 instead of
	s390_vcdlgb.

gcc/testsuite/ChangeLog:

2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>

	* gcc.target/s390/zvector/vec-double-1.c: New test.
	* gcc.target/s390/zvector/vec-double-2.c: New test.

From-SVN: r267084
2018-12-13 11:57:16 +00:00
Andreas Krebbel
99daf8e848 S/390: Use VEC_INEXACT/VEC_NOINEXACT instead of magic numbers.
2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64")
	("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT.
	("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT.

From-SVN: r267083
2018-12-13 11:55:43 +00:00
Jonathan Wakely
bc51a764a3 Disable new tests for configurations with no libstdc++fs.a
* testsuite/27_io/filesystem/path/construct/80762.cc: Skip test if
	the Filesystem TS support is not configured.
	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.

From-SVN: r267082
2018-12-13 11:01:03 +00:00
Kyrylo Tkachov
ee03c51c0b [AArch64][doc] Clarify -msve-vector-bits=128 behaviour
We've received reports about the -msve-vector-bits=128 bits being somewhat ambiguous.
It isn't clear whether -msve-vector-bits=128 forces vector-length-agnostic code or whether
-msve-vector-bits=scalable forces 128-bit vector-lengh-specific code.
The latter is a, perhaps unintuitive, reading that we want to exclude.

This patch makes it more explicit that -msve-vector-bits=128 is special and produces
vector-length *agnostic* code. In the end, I've rewritten the whole option documentation.

Checked make pdf that the output looks reasonable.

    * doc/invoke.texi (-msve-vector-bits): Clarify -msve-vector-bits=128
    behavior.

From-SVN: r267081
2018-12-13 10:37:15 +00:00
Wei Xiao
7cab07f089 i386-common.c (processor_names): Add cascadelake.
gcc/
      * common/config/i386/i386-common.c (processor_names): Add cascadelake.
      (processor_alias_table): Add cascadelake.
      * config.gcc: Add -march=cascadelake.
      * config/i386/i386-c.c (ix86_target_macros_internal): Handle cascadelake.
      * config/i386/i386.c (Add m_CASCADELAKE): New.
      (processor_cost_table): Add cascadelake.
      (get_builtin_code_for_version): Handle cascadelake.
      * config/i386/i386.h (TARGET_CASCADELAKE, PROCESSOR_CASCADELAKE): New.
      (PTA_CASCADELAKE): Ditto.
      * doc/invoke.texi: Add -march=cascadelake.

gcc/testsuite/
      * gcc.target/i386/funcspec-56.inc: Handle new march.

From-SVN: r267080
2018-12-13 08:57:28 +00:00
Arnaud Charlet
81f3e60f5b Add note about abort and ZCX runtime.
Part of RC12-001

From-SVN: r267079
2018-12-13 09:11:45 +01:00
Jakub Jelinek
26b57b93b3 re PR target/88465 (AVX512: optimize loading of constant values to kN registers)
PR target/88465
	* config/i386/i386.md (*movdi_internal, *movsi_internal,
	*movhi_internal, *movqi_internal): Add alternative(s) to load
	0 or -1 into k registers using kxor or kxnoq instructions.

	* gcc.target/i386/avx512f-pr88465.c: New test.
	* gcc.target/i386/avx512dq-pr88465.c: New test.

From-SVN: r267078
2018-12-13 09:08:22 +01:00
Jakub Jelinek
e00199d7b7 re PR target/88461 (AVX512: gcc should keep value in kN registers if possible)
PR target/88461
	* config/i386/sse.md (VI1248_AVX512VLBW, AVX512ZEXTMASK): New
	mode iterators.
	(<avx512>_testm<mode>3<mask_scalar_merge_name>,
	<avx512>_testnm<mode>3<mask_scalar_merge_name>): Merge patterns
	with VI12_AVX512VL and VI48_AVX512VL iterators into ones with
	VI1248_AVX512VLBW iterator.
	(*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
	*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
	*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
	*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask): New
	define_insns.

	* gcc.target/i386/pr88461.c: New test.

From-SVN: r267077
2018-12-13 09:00:42 +01:00
Jakub Jelinek
87d570a022 re PR target/88461 (AVX512: gcc should keep value in kN registers if possible)
PR target/88461
	* config/i386/i386.md (*zero_extendsidi2, zero_extend<mode>di2,
	*zero_extend<mode>si2, *zero_extendqihi2): Add =*k, *km alternatives.

From-SVN: r267076
2018-12-13 08:58:42 +01:00
GCC Administrator
401069dab8 Daily bump.
From-SVN: r267074
2018-12-13 00:16:35 +00:00
Ian Lance Taylor
e7db55f636 runtime: handle DW_EH_PE_absptr in type table encoding
The type table encoding can be DW_EH_PE_absptr, but this case
    was missing, which was causing abort on ARM32 EABI. Add the
    missing case.
    
    Reviewed-on: https://go-review.googlesource.com/c/153857

From-SVN: r267070
2018-12-12 23:26:58 +00:00
Jakub Jelinek
7a289b7d0a re PR fortran/88463 (Rejects conforming source, OpenMP Parallel region Default(None) reference to module parameter array, separate source)
PR fortran/88463
	* trans-openmp.c (gfc_omp_predetermined_sharing): Handle TREE_READONLY
	VAR_DECLs with DECL_EXTERNAL like those with TREE_STATIC.

	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
	* testsuite/libgomp.fortran/pr88463-2.f90: New test.

From-SVN: r267069
2018-12-12 23:49:35 +01:00
Ian Lance Taylor
44cacba39d os/signal: increase deliver time for signal testcase
This increases the time to wait for signals to be delivered in the
    TestAtomicStop testcase. When running gccgo tests on ppc64 or ppc64le,
    there are intermittent failures in this test because the wait time is
    too small.
    
    Updates golang/go#29046
    
    Reviewed-on: https://go-review.googlesource.com/c/153879

From-SVN: r267068
2018-12-12 22:48:46 +00:00
Jakub Jelinek
a6ef2ac9d9 omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, [...]): Fix up function types - remove one argument.
* omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START,
	BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START,
	BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START,
	BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START,
	BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME,
	BUILT_IN_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME): Fix up
	function types - remove one argument.

	* testsuite/libgomp.c-c++-common/for-16.c: New test.

From-SVN: r267067
2018-12-12 23:47:55 +01:00
Paolo Carlini
77a2428600 decl.c (grokdeclarator): Fix location of error message about static data member definition.
/cp
2018-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokdeclarator): Fix location of error message about
	static data member definition.

/testsuite
2018-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/other/static5.C: New.

From-SVN: r267066
2018-12-12 21:36:26 +00:00
Martin Sebor
293267bcdf extend.texi (attribute copy): Fix typos.
gcc/ChangeLog:

	* doc/extend.texi (attribute copy): Fix typos.

From-SVN: r267065
2018-12-12 14:02:41 -07:00
Martin Sebor
348846ff36 extend.texi (Function Attributes): Clarify C++ aspects.
gcc/ChangeLog:

	* doc/extend.texi (Function Attributes): Clarify C++ aspects.
	(Variable Attributes): Same.
	(Type Attributes): Same.

From-SVN: r267064
2018-12-12 13:48:00 -07:00
Segher Boessenkool
c46eb97906 Fix independent-cloneids-1.c testcase (PR88318)
The testcase uses REs like {(?n)\m_*bar[.$_]constprop[.$_]0:} to find
what functions are defined.  But, this also matches lines like
.L.bar.constprop.0:(which are used on powerpc64-linux).
The "(?n)" doesn't do anything here either.  We should use "^" here
instead of just "\m".


	PR testsuite/88318
	* gcc.dg/independent-cloneids-1.c: Use ^ not \m.

From-SVN: r267063
2018-12-12 20:45:45 +01:00
Olivier Hainque
6881e3c13e Add support for SUBTARGET_OVERRIDE_OPTIONS on aarch64
* config/aarch64/aarch64.c (aarch64_override_options): Once arch,
	cpu and tune were validated, insert SUBTARGET_OVERRIDE_OPTIONS if
	defined.

From-SVN: r267060
2018-12-12 17:12:25 +00:00
Olivier Hainque
8921ccbb04 Use REGNUM macros in the definitions of aarch64 PROBE_STACK regs
* config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG) : Redefine as
	R9_REGNUM instead of 9.
	(PROBE_STACK_SECOND_REG): Redefine as R10_REGNUM instead of 10.

From-SVN: r267059
2018-12-12 17:10:44 +00:00
Richard Earnshaw
7bd0ca1100 Fix PR number in my last commit
From-SVN: r267058
2018-12-12 16:31:12 +00:00
Jonathan Wakely
9e16052644 Overload std::distance and std::advance for path::iterator
Although filesystem::path::iterator is only a bidirectional iterator,
the underlying sequence has random access iterators (specifically, raw
pointers). This means std::distance and std::advance can be implemented
more efficiently than the generic versions which apply ++ and --
repeatedly.

	PR libstdc++/71044 (partial)
	* include/bits/fs_path.h (__path_iter_distance, __path_iter_advance):
	New friend functions to implement std::distance and std::advance more
	efficiently.
	(distance, advance): Add overloads for path::iterator.
	* testsuite/27_io/filesystem/path/itr/components.cc: Test new
	overload.

From-SVN: r267057
2018-12-12 16:13:49 +00:00
Jonathan Wakely
6b7c0b5559 PR libstdc++/80762 avoid ambiguous __constructible_from<void, void>
Ensure we don't try to instantiate __is_constructible_from<void, void>,
because there are two partial specializations that are equally good
matches.

	PR libstdc++/80762
	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.

From-SVN: r267056
2018-12-12 16:13:43 +00:00
Joel Brobecker
5da5fefeeb require profiling support for gcc.dg/lto/20100430-1_0.c test
This test currently fails unexpectedly if GCC is configured with
--disable-gcov, because it requires -fprofile-arcs. This patch
fixes the issue by requiring profiling support in order to run
this test.

Tested with two compilers, one built with --disable-gcov, resulting
in the test reporting an UNSUPPORTED result; and one built with gcov
support, resulting in 2 PASS tests.

gcc/testsuite/ChangeLog:

        * gcc.dg/lto/20100430-1_0.c: Add dg-require-profiling requirement.

From-SVN: r267055
2018-12-12 14:22:37 +00:00
Tom de Vries
d665cd9b13 [libbacktrace] Add allocfail.sh test-case
Add test-case that forces alloc.c functions to fail, and check whether fail
handling is robust.

This is the test-case for "[libbacktrace] Fix segfault upon allocation
failure".  Without that patch, this test-case fails like this:
...
allocfail.sh: line 71: 26041 Segmentation fault      (core dumped) \
  ./allocfail $i > /dev/null 2>&1
Unallowed fail found: 13
FAIL allocfail.sh (exit status: 1)
...

This is a seperate patch because the test-case is nontrivial.

Bootstrapped and reg-tested on x86_64.

2018-12-12  Tom de Vries  <tdevries@suse.de>

	* Makefile.am (TESTS): Add allocfail.sh.
	(check_PROGRAMS): Add allocfail.
	* Makefile.in: Regenerate.
	* instrumented_alloc.c: New file.  Redefine malloc and realloc.
	Include alloc.c.
	* allocfail.c: New file.
	* allocfail.sh: New file.

From-SVN: r267054
2018-12-12 13:50:51 +00:00
Eric Botcazou
bf4eca2e56 re PR target/86806 (SPARC port needs updating for CVE-2017-5753)
PR target/86806
	* config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
	(speculation_barrier): New instruction for V9.

From-SVN: r267053
2018-12-12 11:40:28 +00:00
Andreas Schwab
9c47a01994 Don't mark stack pointer as clobbered in asm
* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
clobbered.

From-SVN: r267052
2018-12-12 11:22:42 +00:00
Rasmus Villemoes
5a2580b6ad libgcc: rs6000: tramp.S: fix placement of .cfi_endproc for __trampoline_setup
Currently, .cfi_endproc and FUNC_END(__trampoline_setup) are placed
inside the #else branch of an "#if defined (__VXWORKS__) ...", so
non-pic vxworks does not get proper CFI nor a .size directive for
__trampoline_setup. I assume there's no magic reason for that (which
would warrant a comment), so move them outside.

From-SVN: r267051
2018-12-12 10:12:36 +00:00
Iain Sandoe
0c1342dfad rs6000 - add missed hunk
This add the hunk
	(macho_call_template): Remove.

missed from r267049

From-SVN: r267050
2018-12-12 09:25:13 +00:00
Segher Boessenkool
be611c9c5a rs6000 - Fix PR target/88343
The PR is about unnecessary saves of the pic base register, it shows on m32 Linux and m32/m64 Darwin.

The fix is to check that we are in a pic mode and that the picbase has actually been used.
As a bonus, some #ifdef’d TARGET_MACHO code is no longer required.

2018-12-12 Segher Boessenkool  <segher@kernel.crashing.org>
	   Iain Sandoe  <iain@sandoe.co.uk>

	PR target/88343
	* config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
	unless it has been used.
	(first_reg_to_save): Remove dead code.


Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk>

From-SVN: r267049
2018-12-12 08:53:49 +00:00
Iain Sandoe
aa3a2eca42 rs6000, update Darwin call handling to latest scheme.
This patch mormalises Darwin's call handling to match the scheme
recently introduced and gives it target-specific call expanders.

2018-12-12  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/rs6000-protos.h (rs6000_call_darwin): New.
	(rs6000_sibcall_darwin): New. (macho_call_template): Remove.
	* config/rs6000/rs6000.c (get_prev_label): Forward declaration. 
	(rs6000_call_template_1): Handle Darwin.
	(macho_call_template): Remove.
	(rs6000_call_sysv): Remove handling for Darwin.
	(rs6000_call_darwin_1, rs6000_call_darwin): New
	(rs6000_sibcall_darwin): New.
	* config/rs6000/rs6000.md (define_expand “call”): Handle Darwin
	with its own expander. (define_expand “call_value”): Likewise.
	(define_expand “sibcall”): Likewise.
	(define_expand “sibcall_value”): Likewise.
	(call_nonlocal_sysv): Remove Darwin special-casing.
	(call_value_nonlocal_sysv): Likewise.

From-SVN: r267048
2018-12-12 08:47:16 +00:00
Jakub Jelinek
13de99bc7d re PR c++/88446 (__builtin_is_constant_evaluated rejects some converted constant expressions.)
PR c++/88446
	* cp-tree.h (maybe_constant_value): Add manifestly_const_eval
	argument.
	* constexpr.c (struct constexpr_call): Rename pretend_const_required
	member to manifestly_const_eval.
	(struct constexpr_ctx): Likewise.
	(constexpr_call_hasher::equal): Adjust users.
	(cxx_eval_builtin_function_call): Likewise.  Formatting fix.
	(cxx_eval_call_expression): Adjust users.
	(cxx_eval_outermost_constant_expr, maybe_constant_init_1,
	maybe_constant_init): Rename pretend_const_required argument to
	manifestly_const_eval, adjust function comments.
	(maybe_constant_value): Add manifestly_const_eval argument.  If true,
	don't cache and call cxx_eval_outermost_constant_expr with true as
	manifestly_const_eval.
	* decl.c (compute_array_index_type_loc): Call maybe_constant_value
	with true as manifestly_const_eval.

	* g++.dg/cpp2a/is-constant-evaluated3.C: New test.

From-SVN: r267047
2018-12-12 09:44:27 +01:00
Iain Sandoe
66e30545db rs6000, darwin - fix bootstrap.
Recent changes to the lowerings for call handling in rs6000
have broken bootstrap for powerpc-darwin.  This patch modifies
the calls to handle Darwin asa subset, a subsequent patch will
split Darwin out.

2018-12-12  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin.md (call_indirect_nonlocal_darwin64): Remove.
	(call_nonlocal_darwin64): Remove.
	(call_value_indirect_nonlocal_darwin64): Remove.
	(call_value_nonlocal_darwin64): Remove.
	* config/rs6000/rs6000.c (rs6000_call_template_1): Handle Darwin with
	the same asm output as AIX/ELFv2.  (rs6000_call_sysv): Preserve the
	CALL_LONG flag when needed for Darwin.
	* config/rs6000/rs6000.md (define expand “call”): Expand Darwin as
	per sysv.
	(define_expand “call_value”): Likewise.
	(define_expand “sibcall”): Likewise.
	(define_expand “sibcall_value”): Likewise.
	(call_indirect_nonlocal_sysv): Mark the clobber mode P.
	(call_nonlocal_sysv): Likewise.
	(call_nonlocal_sysv_secure): Likewise.
	(call_value_indirect_nonlocal_sysv): Likewise.
	(call_value_nonlocal_sysv): Likewise.
	(call_value_nonlocal_sysv_secure): Likewise.
	(call_local64): Mark the clobber DI.
	(call_value_local64): Likewise.

From-SVN: r267046
2018-12-12 08:42:28 +00:00
Jakub Jelinek
0d7924f2e7 P0595R2 - is_constant_evaluated
P0595R2 - is_constant_evaluated
	* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED):
	Define if __builtin_is_constant_evaluated is available.
	* include/std/type_traits (std::is_constant_evaluated): New constexpr
	inline function.
	* testsuite/20_util/is_constant_evaluated/1.cc: New test.
	* testsuite/20_util/is_constant_evaluated/noexcept.cc: New test.

From-SVN: r267045
2018-12-12 09:31:01 +01:00
Jakub Jelinek
cce3ae91f2 re PR c++/88449 (__builtin_is_constant_evaluated misbehaves due to constexpr call caching)
PR c++/88449
	* constexpr.c (struct constexpr_call): Add pretend_const_required
	member.
	(constexpr_call_hasher::equal): Return false if pretend_const_required
	members differ.
	(cxx_eval_call_expression): Adjust new_call initialization.  Hash in
	ctx->pretend_const_required.

	* g++.dg/cpp2a/is-constant-evaluated1.C: Change from dg-do compile
	to dg-do run.
	(e): Adjust comment with correct expected value.
	(main): Expect e == 1.
	* g++.dg/cpp2a/is-constant-evaluated2.C: New test.

From-SVN: r267044
2018-12-12 09:28:43 +01:00
Steven G. Kargl
2f00fb3d0b re PR fortran/88155 (ICE in gfc_format_decoder, at fortran/error.c:947)
2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88155
	* primary.c (gfc_match_structure_constructor):  Set the locus of
	an expression to avoid a NULL pointer dereference.

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88155
	* gfortran.dg/pr70870_1.f90: Update testcase to use -std=gnu.
	* gfortran.dg/pr88155.f90: New test.

From-SVN: r267041
2018-12-12 00:53:08 +00:00
GCC Administrator
85c223fa12 Daily bump.
From-SVN: r267040
2018-12-12 00:16:18 +00:00
Steven G. Kargl
3d07fb21d2 re PR fortran/88249 (ICE in gfc_resolve_filepos, at fortran/io.c:2853)
2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88249
	* gfortran.h: Update prototype for gfc_resolve_filepos().
	* io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present.
	Use passed in locus for error message.
	* resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos()
	call.

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88249
	* gfortran.dg/pr88249.f90: New test.

From-SVN: r267035
2018-12-11 23:13:19 +00:00
Eric Botcazou
3b31a90608 re PR ada/88429 (libada build fails with --disable-shared)
libada/
	PR ada/88429
	* configure.ac (default_gnatlib_target): Set to gnatlib instead of
	gnatlib-plain if --disable-shared.
	* configure: Regenerate.
	* Makefile.in (all): Replace gnatlib prerequisite with libada.
	(ADA_RTS_SUBDIR): Delete.
	(libada): New target, renamed from...
	(gnatlib): ...this.  Merge with other library targets.
	(gnatlib-plain): Delete.
	(install-gnatlib): Rename to...
	(install-libada): ...this.
	(install): Replace install-gnatlib prerequisite with install-libada.
gcc/ada/
	PR ada/88429
	* gcc-interface/Makefile.in (./stamp-gnatlib1-$(RTSDIR)): Also pass
	MULTISUBDIR to sub-make and add quotes around $(THREAD_KIND).
	(gnatlib-shared-dual): Also pass PICFLAG_FOR_TARGET to sub-make.
	(gnatlib-sjlj): Also pass MULTISUBDIR to sub-make, but do not pass
	PICFLAG_FOR_TARGET.
	(gnatlib-zcx): Likewise.

From-SVN: r267034
2018-12-11 23:04:39 +00:00
Ian Lance Taylor
be68937be2 runtime: use _URC_FAILURE on ARM32
ARM32 EABI unwinder does not define _URC_NORMAL_STOP. Instead,
    it has _URC_FAILURE. Use _URC_FAILURE there.
    
    Should fix ARM32 build.
    
    Reviewed-on: https://go-review.googlesource.com/c/153417

From-SVN: r267033
2018-12-11 20:50:59 +00:00
Jakub Jelinek
582d2481f7 re PR c++/87861 (ICE in output_constructor_regular_field, at varasm.c:5165)
PR c++/87861
	* class.c (build_vtbl_initializer): For TARGET_VTABLE_USES_DESCRIPTORS
	bump index for each added word.
	* constexpr.c (find_array_ctor_elt): Add forward declaration.
	(cxx_eval_call_expression): Handle TARGET_VTABLE_USES_DESCRIPTORS
	vtable calls.
	(cxx_eval_constant_expression) <case OBJ_TYPE_REF>: Divide token
	by TARGET_VTABLE_USES_DESCRIPTORS if non-zero.

From-SVN: r267032
2018-12-11 21:37:53 +01:00
Jakub Jelinek
3c0517a653 re PR tree-optimization/80520 (Performance regression from missing if-conversion)
PR tree-optimization/80520
	* gcc.dg/tree-ssa/split-path-11.c (foo): Make the test ilp32 target
	clean.

From-SVN: r267031
2018-12-11 21:28:35 +01:00
Marek Polacek
3c393a2c01 PR c++/86608 - reading constexpr volatile variable.
* constexpr.c (potential_constant_expression_1): Check want_rval
	instead of checking if we have a decl.
	* decl2.c (decl_maybe_constant_var_p): Don't consider volatile
	constexpr variables as maybe constant.

	* g++.dg/cpp0x/constexpr-volatile2.C: New test.
	* g++.dg/cpp0x/pr65327.C: Add dg-error.

From-SVN: r267030
2018-12-11 18:53:03 +00:00
Paolo Carlini
6b9ef867ec decl.c (grokvardecl): Add location_t parameter and use it in build_lang_decl_loc and build_decl calls.
/cp
2018-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokvardecl): Add location_t parameter and use it
	in build_lang_decl_loc and build_decl calls.
	(grokdeclarator): Move up loc declaration and use it in the
	grokvardecl call too.

/testsuite
2018-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/pr53037-4.C: Test the first two locations too.

From-SVN: r267029
2018-12-11 17:47:56 +00:00
Paolo Carlini
f214a6415a decl.c (grokvardecl): Add location_t parameter and use it in build_lang_decl_loc and build_decl calls.
/cp
2018-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokvardecl): Add location_t parameter and use it
	in build_lang_decl_loc and build_decl calls.
	(grokdeclarator): Move up loc declaration and use it in the
	grokvardecl call too.

/testsuite
2018-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/pr53037-4.C: Test the first two locations too.

From-SVN: r267028
2018-12-11 17:47:47 +00:00
Paolo Carlini
296e379a50 decl2.c (grokvardecl): Add location_t parameter and use it in build_lang_decl_loc and build_decl calls.
/cp
2018-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl2.c (grokvardecl): Add location_t parameter and use it
	in build_lang_decl_loc and build_decl calls.
	(grokdeclarator): Move up loc declaration and use it in the
	grokvardecl call too.

/testsuite
2018-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/pr53037-4.C: Test the first two locations too.

From-SVN: r267027
2018-12-11 17:46:42 +00:00
Jakub Jelinek
ccef67160c re PR tree-optimization/88444 (ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:468; or ICE: tree check: expected ssa_name, have integer_cst in get_value_range, at vr-values.c:84)
PR tree-optimization/88444
	* tree-vrp.c (register_edge_assert_for_2): Only register assertions
	for conversions if rhs1 is a SSA_NAME.

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

From-SVN: r267026
2018-12-11 18:16:48 +01:00
Dimitar Dimitrov
5b238a4591 cfgexpand.c (asm_clobber_reg_is_valid): Also produce error when stack pointer is clobbered.
gcc/
2018-12-11  Dimitar Dimitrov  <dimitar@dinux.eu>

	* cfgexpand.c (asm_clobber_reg_is_valid): Also produce
	error when stack pointer is clobbered.
	(expand_asm_stmt): Refactor clobber check in separate function.

gcc/testsuite/
2018-12-11  Dimitar Dimitrov  <dimitar@dinux.eu>

	* gcc.target/i386/pr52813.c: New test.

From-SVN: r267025
2018-12-11 15:50:51 +00:00