Commit Graph

167069 Commits

Author SHA1 Message Date
Caroline Tice
9e8fc96cdc Fix testsuite
2019-02-19  Caroline Tice <cmtice@google.com>

	Fix testsuite
	* testsuite/libvtv.cc/const_vtable.cc (main): Fix function signature.

From-SVN: r269041
2019-02-20 08:07:19 -08:00
Uros Bizjak
0024731fda revert: re PR target/89397 (ICE in build_call_expr_loc_array at gcc/tree.c:11563 since r229082)
Revert:
        PR target/89397
        * config/i386/i386.c (ix86_option_override_internal): Set
        opts->x_ix86_fpmath to FPMATH_387 when SSE is disabled.

        gcc/testsuite/

        PR target/89397
        * gcc.target/i386/pr89397.c: New test.

From-SVN: r269040
2019-02-20 16:23:47 +01:00
Andre Vieira
145d4e1a4e [GCC] PR target/86487: fix the way 'uses_hard_regs_p' handles paradoxical
subregs

gcc/ChangeLog:
2019-02-20 Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/86487
	* lra-constraints.c(uses_hard_regs_p): Fix handling of
	paradoxical SUBREGS.

gcc/testsuite/ChangeLog:
2019-02-20 Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/86487
	* gcc.target/arm/pr86487.c: New.

From-SVN: r269039
2019-02-20 14:11:43 +00:00
Martin Liska
c9ea5b639b Change singular to plural in gfortran.texi.
2019-02-20  Martin Liska  <mliska@suse.cz>

	* gfortran.texi: Change singular to plural.

From-SVN: r269038
2019-02-20 11:12:10 +00:00
Paolo Carlini
9ccdc43d5e re PR c++/84536 (ICE with non-type template parameter)
/cp
2019-02-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84536
	* pt.c (tsubst_init): Diagnose an initializer expanding to an
	empty list of expressions; tweak wrt dependent types.
	(regenerate_decl_from_template): For VAR_DECLs call tsubst_init
	instead of tsubst_expr.

/testsuite
2019-02-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84536
	* g++.dg/cpp1y/var-templ60.C: New.

From-SVN: r269037
2019-02-20 10:47:02 +00:00
Thomas Schwinge
54603edcb1 Correction of ChangeLog entry, Thomas provided the code for this change.
2019-02-19  Thomas Schwinge  <thomas@codesourcery.com>

	PR c/87924
	* openmp.c (gfc_match_omp_clauses): Add representation of wait clause
	without argument as 'wait (GOMP_ASYNC_NOVAL)'.

From-SVN: r269036
2019-02-20 10:09:53 +00:00
Martin Liska
7ac75976af Document Fortran header directive.
2019-02-20  Martin Liska  <mliska@suse.cz>

	* gfortran.texi: Document Fortran header directive.

From-SVN: r269035
2019-02-20 09:23:12 +00:00
Jakub Jelinek
ea1c2a95ba re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target)
PR libstdc++/89402
	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add
	_GLIBCXX_PURE to the alias declaration.

From-SVN: r269034
2019-02-20 08:57:41 +01:00
Li Jia He
e86ae7bab3 [rs6000] fix PR 88100, range check for vec_splat_{su}{8,16,32}
GCC revision 259524 implemented range check for the vec_splat_{su}{8,16,32}
builtins.  However, as a consequence of the implementation, the range check
is not done correctly for the expected vspltis[bhw] instructions.  The result
is that we may not get a valid error message if the valid range of the data
is exceeded.

Although the input of the function prototype of vec_splat_{su}{8,16,32} is
const int, the actual data usage range is limited to the data range of 5 bits
signed.  We should limit the int_cst.val[0] data to the 5 bit signed data range
without any modification in the input arg0 parameter.  However, the sext_hwi
function intercepts the data of TREE_INT_CST_LOW (arg0) as size bits in the
sext_hwi (TREE_INT_CST_LOW (arg0), size) statement.  This will cause some of
the excess data to fall within the range of 5 bits signed, so that the correct
diagnostic information cannot be generated, we need to remove the sext_hwi to
ensure that the input data has not been modified.

This patch fix range check for the vec_splat_s[8,16,32] builtins.  The argument
must be a 5-bit const int as specified for the vspltis[bhw] instructions.

for gcc/ChangeLog

	PR target/88100
	* gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
	<case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
	ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
	range checking it.

for gcc/testsuite/ChangeLog

	PR target/88100
	* gcc/testsuite/gcc.target/powerpc/pr88100.c: New testcase.

From-SVN: r269033
2019-02-20 02:35:39 +00:00
Jason Merrill
9d35a27a83 PR c++/88368 - wrong 'use of deleted function'
Since my patch for 81359 allowed us to signal failure on return from
maybe_instantiate_noexcept, we no longer need to turn an error into
noexcept(false).  We also need to handle NSDMI instantiation errors under
synthesized_method_walk.  This change caused some instantiation context
notes to be lost in the testsuite, so I added push_tinst_level to
get_defaulted_eh_spec to restore that context.

	* method.c (walk_field_subobs): Remember errors from get_nsdmi.
	(get_defaulted_eh_spec): Call push_tinst_level.
	* pt.c (maybe_instantiate_noexcept): Keep error_mark_node.
	* typeck2.c (merge_exception_specifiers): Handle error_mark_node.

From-SVN: r269032
2019-02-19 21:00:29 -05:00
GCC Administrator
8dca1dc386 Daily bump.
From-SVN: r269031
2019-02-20 00:16:45 +00:00
Jonathan Wakely
a94d5170f8 * config/gcn/gcn.c (print_operand): Fix typo.
From-SVN: r269028
2019-02-19 19:30:59 +00:00
Ian Lance Taylor
f1c4b346ea compiler: add debugger-callable AST dump functins
Introduce a set debug_go_* global functions that can be used to emit
    AST dumps for Go statements and expressions from within GDB (for use
    by people developing gccgo).
    
    Reviewed-on: https://go-review.googlesource.com/c/162903

From-SVN: r269027
2019-02-19 18:44:24 +00:00
Wilco Dijkstra
e8350f09ab Fix pr88850 test
Fix pr88850.c testcase which was failing in hardfp environments.

Committed as obvious.

    gcc/testsuite/
	* gcc.target/arm/pr88850.c: Block -mfloat-abi override.

From-SVN: r269026
2019-02-19 18:43:43 +00:00
Bernd Edlinger
4f19d0e7af Makefile.am: Avoid the -D option which is not available with the install-sh fallback.
2019-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * src/Makefile.am: Avoid the -D option which is not available
        with the install-sh fallback.  Use $(MKDIR_P) instead.
        * libdruntime/Makefile.am: Likewise.
        * src/Makefile.in: Regenerated.
        * libdruntime/Makefile.in: Regenerated.

From-SVN: r269025
2019-02-19 18:21:26 +00:00
Thomas Koenig
9d52e1bbd8 re PR fortran/89384 (CONTIGUOUS dummy argument in BIND(C) interface incorrect when actual is non-contiguous)
2019-02-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/89384
	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): If the dummy
	argument is contiguous and the actual argument may not be,
	use gfc_conv_subref_array_arg.

2019-02-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/89384
	* gfortran.dg/ISO_Fortran_binding_4.f90

From-SVN: r269024
2019-02-19 17:55:33 +00:00
Uros Bizjak
fe95aee9ce unwind-dw2.c (_Unwind_GetGR): Compare regno instead of index to DWARF_ZERO_REG.
* unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare
	regno instead of index to DWARF_ZERO_REG.

From-SVN: r269021
2019-02-19 17:10:00 +01:00
Thomas Schwinge
3b8f48d6f0 [PR87924] OpenACC wait clauses without async-arguments: remove XFAILs
... which the recent r269016 didn't do.

	gcc/testsuite/
	PR c/87924
	* c-c++-common/goacc/asyncwait-5.c: Remove XFAILs.
	* gfortran.dg/goacc/asyncwait-5.f: Likewise.

From-SVN: r269020
2019-02-19 17:04:17 +01:00
Ian Lance Taylor
b05b2dba3d re PR go/89169 (FAIL: internal/cpu)
PR go/89169
    internal/cpu: do not require POWER8
    
    Although the gc toolchain requires POWER8, the gccgo toolchain does not.
    
    Fixes https://gcc.gnu.org/PR89169
    
    Reviewed-on: https://go-review.googlesource.com/c/162979

From-SVN: r269019
2019-02-19 15:42:09 +00:00
Ian Lance Taylor
6bd37418a3 runtime: abort stack scan in cases that we cannot unwind the stack
In signal-triggered stack scan, if the signal is delivered at
    certain bad time (e.g. in vdso, or in the middle of setcontext?),
    the unwinder may not be able to unwind the whole stack, while it
    still reports _URC_END_OF_STACK. So we cannot rely on _URC_END_OF_STACK
    to tell if it successfully scanned the stack. Instead, we check
    the last Go frame to see it actually reached the end of the stack.
    For Go-created stack, this is runtime.kickoff. For C-created
    stack, we need to record the outermost Go frame when it enters
    the Go side.
    
    Also we cannot unwind the stack if the signal is delivered in the
    middle of runtime.gogo, halfway through a goroutine switch, where
    the g and the stack don't match. Give up in this case as well.
    
    Reviewed-on: https://go-review.googlesource.com/c/159098

From-SVN: r269018
2019-02-19 15:32:34 +00:00
H.J. Lu
23c4471ee5 i386: Set ix86_fpmath to FPMATH_387 without SSE
ix86_fpmath should be set to combination of FPMATH_387 and FPMATH_SSE.
When SSE is disabled, it should be set to FPMATH_387 and 387 codegen is
also controlled by -msoft-float.

gcc/

	PR target/89397
	* config/i386/i386.c (ix86_option_override_internal): Set
	opts->x_ix86_fpmath to FPMATH_387 when SSE is disabled.

gcc/testsuite/

	PR target/89397
	* gcc.target/i386/pr89397.c: New test.

From-SVN: r269017
2019-02-19 06:19:33 -08:00
Chung-Lin Tang
19695f4d99 re PR c/87924 (OpenACC wait clauses without async-arguments)
2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>

	PR c/87924
	gcc/c/
	* c-parser.c (c_parser_oacc_clause_wait): Add representation of wait
	clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.

	gcc/cp/
	* parser.c (cp_parser_oacc_clause_wait): Add representation of wait
	clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.

	gcc/fortran/
	* openmp.c (gfc_match_omp_clauses): Add representation of wait clause
	without argument as 'wait (GOMP_ASYNC_NOVAL)'.

	libgomp/
	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
	goacc_wait().
	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
	and related adjustment.

	Reviewed-by: Thomas Schwinge  <thomas@codesourcery.com>

From-SVN: r269016
2019-02-19 14:10:15 +00:00
Richard Biener
83fce9004a re PR tree-optimization/88074 (g++ hangs on math expression)
2019-02-19  Richard Biener  <rguenther@suse.de>

        PR middle-end/88074
	* toplev.c (do_compile): Initialize mpfr's exponent range
	based on available float modes.

	* gcc.dg/pr88074.c: New testcase.

From-SVN: r269015
2019-02-19 12:46:48 +00:00
Iain Buclaw
be200c5c41 Fix libphobos.shared/load.d compile failure on Solaris
2019-02-19  Iain Buclaw  <ibuclaw@gdcproject.org>

	* testsuite/libphobos.shared/load.d: Import core.sys.posix.dlfcn.
	[DragonFlyBSD, FreeBSD, linux, NetBSD, OSX, Solaris]: Import only
	RTLD_NOLOAD from core.sys.*.dlfcn.
	Assert RTLD_NOLOAD is available.

From-SVN: r269014
2019-02-19 12:38:48 +00:00
Eric Botcazou
6138fed0be rtlanal.c (get_initial_register_offset): Fall back to the estimate as long as the epilogue isn't completed.
* rtlanal.c (get_initial_register_offset): Fall back to the estimate
	as long as the epilogue isn't completed.

From-SVN: r269013
2019-02-19 09:25:39 +00:00
Rainer Orth
1d67913472 Fix libphobos linking on Solaris 11
* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_NET): New macro.
	* configure.ac: Invoke it.
	* configure: Regenerate.

From-SVN: r269012
2019-02-19 09:24:50 +00:00
Jakub Jelinek
0db1a7c2e9 re PR middle-end/89303 (memory leak with shared_ptr and enable_shared_from_this)
PR middle-end/89303
	* g++.dg/torture/pr89303.C: Move everything from std namespace to my
	namespace.

From-SVN: r269010
2019-02-19 09:57:24 +01:00
Jakub Jelinek
d5fe39d47c re PR c++/89387 (ICE in maybe_generic_this_capture at gcc/cp/lambda.c:945 since r268851)
PR c++/89387
	* lambda.c (maybe_generic_this_capture): Don't check
	DECL_NONSTATIC_MEMBER_FUNCTION_P on USING_DECLs.

	* g++.dg/cpp0x/lambda/lambda-89387.C: New test.

From-SVN: r269009
2019-02-19 09:43:23 +01:00
Jakub Jelinek
50aaebab94 re PR c++/89391 (ICE in build_target_expr_with_type, at cp/tree.c:795)
PR c++/89391
	* typeck.c (build_reinterpret_cast_1): Don't handle void to
	&& conversion go through build_target_expr_with_type.

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

From-SVN: r269008
2019-02-19 09:40:07 +01:00
Jakub Jelinek
883c07964f re PR c++/89390 (ICE in get_string, at spellcheck-tree.h:46)
PR c++/89390
	* error.c (qualified_name_lookup_error): Only call
	suggest_alternative_in_scoped_enum if name is IDENTIFIER_NODE.

	* g++.dg/diagnostic/pr89390.C: New test.

From-SVN: r269007
2019-02-19 09:38:54 +01:00
Jonathan Wakely
102a4fe17e Adjust C++11/C++14 tests to work with -fchar8_t
* testsuite/21_strings/basic_string/literals/types.cc
	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string type for u8 literal.
	* testsuite/21_strings/basic_string/literals/values.cc
	[_GLIBCXX_USE_CHAR8_T]: Likewise.
	* testsuite/22_locale/codecvt/char16_t.cc: Adjust for u8 literals
	potentially having different type.
	* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Cast u8 literal
	to char.
	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/utf8.cc: Likewise.
	* testsuite/22_locale/conversions/string/2.cc: Remove u8 prefix from
	string literals only using basic character set.
	* testsuite/22_locale/conversions/string/3.cc: Likewise. Cast other
	u8 literals to char.
	* testsuite/29_atomics/headers/atomic/macros.cc [_GLIBCXX_USE_CHAR8_T]:
	Test ATOMIC_CHAR8_T_LOCK_FREE.
	Add missing #error to ATOMIC_CHAR16_T_LOCK_FREE test.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
	[_GLIBCXX_USE_CHAR8_T]: Check for std::atomic_char8_t.
	* testsuite/experimental/string_view/literals/types.cc
	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string_view type for u8
	literal.
	* testsuite/experimental/string_view/literals/values.cc
	[_GLIBCXX_USE_CHAR8_T]: Likewise.

From-SVN: r269006
2019-02-19 02:55:12 +00:00
Tom Honermann
46ca1dd73c P0482R5 char8_t: New standard library tests
2019-02-19  Tom Honermann  <tom@honermann.net>

	* testsuite/18_support/numeric_limits/char8_t.cc: New test cloned
	from char16_32_t.cc; validates numeric_limits<char8_t>.
	* testsuite/21_strings/basic_string/literals/types-char8_t.cc: New
	test cloned from types.cc; validates operator""s for char8_t
	returns u8string.
	* testsuite/21_strings/basic_string/literals/values-char8_t.cc: New
	test cloned from values.cc; validates construction and comparison
	of u8string values.
	* testsuite/21_strings/basic_string/requirements/
	/explicit_instantiation/char8_t/1.cc: New test cloned from
	char16_t/1.cc; validates explicit instantiation of
	basic_string<char8_t>.
	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
	New test cloned from types.cc; validates operator""sv for char8_t
	returns u8string_view.
	* testsuite/21_strings/basic_string_view/literals/
	values-char8_t.cc: New test cloned from values.cc; validates
	construction and comparison of u8string_view values.
	* testsuite/21_strings/basic_string_view/requirements/
	explicit_instantiation/char8_t/1.cc: New test cloned from
	char16_t/1.cc; validates explicit instantiation of
	basic_string_view<char8_t>.
	* testsuite/21_strings/char_traits/requirements/char8_t/65049.cc:
	New test cloned from char16_t/65049.cc; validates that
	char_traits<char8_t> is not vulnerable to the concerns in PR65049.
	* testsuite/21_strings/char_traits/requirements/char8_t/
	typedefs.cc: New test cloned from char16_t/typedefs.cc; validates
	that char_traits<char8_t> member typedefs are present and correct.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char8_t/1.cc: New test cloned from
	char16_t/1.cc; validates explicit instantiation of
	char_traits<char8_t>.
	* testsuite/22_locale/codecvt/char16_t-char8_t.cc: New test cloned
	from char16_t.cc: validates
	codecvt<char16_t, char8_t, mbstate_t>.
	* testsuite/22_locale/codecvt/char32_t-char8_t.cc: New test cloned
	from char32_t.cc: validates
	codecvt<char32_t, char8_t, mbstate_t>.
	* testsuite/22_locale/codecvt/utf8-char8_t.cc: New test cloned from
	utf8.cc; validates codecvt<char16_t, char8_t, std::mbstate_t> and
	codecvt<char32_t, char8_t, std::mbstate_t>.
	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: New
	test cloned from string.cc; validates filesystem::path construction
	from char8_t input.
	* testsuite/experimental/feat-char8_t.cc: New test; validates that
	the __cpp_lib_char8_t feature test macro is defined with the
	correct value.
	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
	New test cloned from string.cc; validates filesystem::path
	construction from char8_t input.
	* testsuite/experimental/string_view/literals/types-char8_t.cc: New
	test cloned from types.cc; validates operator""sv for char8_t
	returns u8string_view.
	* testsuite/experimental/string_view/literals/values-char8_t.cc:
	New test cloned from values.cc; validates construction and
	comparison of u8string_view values.
	* testsuite/experimental/string_view/requirements/
	explicit_instantiation/char8_t/1.cc: New test cloned from
	char16_t/1.cc; validates explicit instantiation of
	basic_string_view<char8_t>.
	* testsuite/ext/char8_t/atomic-1.cc: New test; validates that
	ATOMIC_CHAR8_T_LOCK_FREE is not defined if char8_t support is not
	enabled.

From-SVN: r269005
2019-02-19 02:55:05 +00:00
Tom Honermann
c124af936b P0482R5 char8_t: Standard library support
gcc/cp:

2019-02-19  Tom Honermann  <tom@honermann.net>

	* name-lookup.c (get_std_name_hint): Added u8string as a name hint.

libstdc++:

2019-02-19  Tom Honermann  <tom@honermann.net>

	P0482R5 char8_t: Standard library support
	* config/abi/pre/gnu-versioned-namespace.ver (CXXABI_2.0): Add
	typeinfo symbols for char8_t.
	* config/abi/pre/gnu.ver: Add CXXABI_1.3.12.
	(GLIBCXX_3.4.26): Add symbols for specializations of
	numeric_limits and codecvt that involve char8_t.
	(CXXABI_1.3.12): Add typeinfo symbols for char8_t.
	* include/bits/atomic_base.h: Add atomic_char8_t.
	* include/bits/basic_string.h: Add std::hash<u8string> and
	operator""s(const char8_t*, size_t).
	* include/bits/c++config: Define _GLIBCXX_USE_CHAR8_T and
	__cpp_lib_char8_t.
	* include/bits/char_traits.h: Add char_traits<char8_t>.
	* include/bits/codecvt.h: Add
	codecvt<char16_t, char8_t, mbstate_t>,
	codecvt<char32_t, char8_t, mbstate_t>,
	codecvt_byname<char16_t, char8_t, mbstate_t>, and
	codecvt_byname<char32_t, char8_t, mbstate_t>.
	* include/bits/cpp_type_traits.h: Add __is_integer<char8_t> to
	recognize char8_t as an integral type.
	* include/bits/fs_path.h: (path::__is_encoded_char): Recognize
	char8_t.
	(path::u8string): Return std::u8string when char8_t support is
	enabled.
	(path::generic_u8string): Likewise.
	(path::_S_convert): Handle conversion from char8_t input.
	(path::_S_str_convert): Likewise.
	* include/bits/functional_hash.h: Add hash<char8_t>.
	* include/bits/locale_conv.h (__str_codecvt_out): Add overloads for
	char8_t.
	* include/bits/locale_facets.h (_GLIBCXX_NUM_UNICODE_FACETS): Bump
	for new char8_t specializations.
	* include/bits/localefwd.h: Add missing declarations of
	codecvt<char16_t, char, mbstate_t> and
	codecvt<char32_t, char, mbstate_t>.  Add char8_t declarations
	codecvt<char16_t, char8_t, mbstate_t> and
	codecvt<char32_t, char8_t, mbstate_t>.
	* include/bits/postypes.h: Add u8streampos
	* include/bits/stringfwd.h: Add declarations of
	char_traits<char8_t> and u8string.
	* include/c_global/cstddef: Add __byte_operand<char8_t>.
	* include/experimental/bits/fs_path.h (path::__is_encoded_char):
	Recognize char8_t.
	(path::u8string): Return std::u8string when char8_t support is
	enabled.
	(path::generic_u8string): Likewise.
	(path::_S_convert): Handle conversion from char8_t input.
	(path::_S_str_convert): Likewise.
	* include/experimental/string: Add u8string.
	* include/experimental/string_view: Add u8string_view,
	hash<experimental::u8string_view>, and
	operator""sv(const char8_t*, size_t).
	* include/std/atomic: Add atomic<char8_t> and atomic_char8_t.
	* include/std/charconv (__is_int_to_chars_type): Recognize char8_t
	as a character type.
	* include/std/limits: Add numeric_limits<char8_t>.
	* include/std/string_view: Add u8string_view,
	hash<experimental::u8string_view>, and
	operator""sv(const char8_t*, size_t).
	* include/std/type_traits: Add __is_integral_helper<char8_t>,
	__make_unsigned<char8_t>, and __make_signed<char8_t>.
	* libsupc++/atomic_lockfree_defines.h: Define
	ATOMIC_CHAR8_T_LOCK_FREE.
	* src/c++11/Makefile.am: Compile with -fchar8_t when compiling
	codecvt.cc and limits.cc so that char8_t specializations of
	numeric_limits and codecvt and emitted.
	* src/c++11/Makefile.in: Likewise.
	* src/c++11/codecvt.cc: Define members of
	codecvt<char16_t, char8_t, mbstate_t>,
	codecvt<char32_t, char8_t, mbstate_t>,
	codecvt_byname<char16_t, char8_t, mbstate_t>, and
	codecvt_byname<char32_t, char8_t, mbstate_t>.
	* src/c++11/limits.cc: Define members of
	numeric_limits<char8_t>.
	* src/c++98/Makefile.am: Compile with -fchar8_t when compiling
	locale_init.cc and localename.cc.
	* src/c++98/Makefile.in: Likewise.
	* src/c++98/locale_init.cc: Add initialization for the
	codecvt<char16_t, char8_t, mbstate_t> and
	codecvt<char32_t, char8_t, mbstate_t> facets.
	* src/c++98/localename.cc: Likewise.
	* testsuite/util/testsuite_abi.cc: Validate ABI bump.

From-SVN: r269004
2019-02-19 02:54:42 +00:00
Jason Merrill
e8b3c1bc3b PR c++/89336 - multiple stores in constexpr stmt.
If we evaluate the RHS in the context of the LHS, that evaluation might
change the LHS in ways that mess with being able to store the value later.
So for assignment or scalar values, evaluate the RHS first.

	* constexpr.c (cxx_eval_store_expression): Preevaluate scalar or
	assigned value.

From-SVN: r269003
2019-02-18 20:01:50 -05:00
GCC Administrator
44db22fc66 Daily bump.
From-SVN: r269002
2019-02-19 00:16:16 +00:00
Johannes Pfau
36d7f1518f libphobos: Detect if qsort_r is available
Merges upstream druntime bbfb58e8.

libphobos/ChangeLog:

2019-02-19  Johannes Pfau  <johannespfau@gmail.com>

	PR d/88127
	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_CLIB): Add new macro.
	* configure.ac: Use DRUNTIME_LIBRARIES_CLIB.
	* configure: Regenerate
	* Makefile.in: Regenerate
	* libdruntime/gcc/config.d.in: Add Have_Qsort_R.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r268999
2019-02-18 23:29:39 +00:00
Joseph Myers
0232a2191b * fr.po: Update.
From-SVN: r268998
2019-02-18 23:16:00 +00:00
Jason Merrill
802813eab9 Improve diagnostic for redundant template arguments in declaration.
* pt.c (check_explicit_specialization): If the declarator is a
	template-id, only check whether the arguments are dependent.

From-SVN: r268997
2019-02-18 16:35:48 -05:00
Sharon Dvir
ab7b72e100 README: Fix typos.
2019-02-18  Sharon Dvir  <unapologtic@gmail.com>

gcc/testsuite/
	* README: Fix typos.

From-SVN: r268996
2019-02-18 21:10:57 +00:00
Rainer Orth
c22e84c2d0 Fix g++.dg/torture/pr89303.C with Solaris ld
* g++.dg/torture/pr89303.C (bad_weak_ptr): Rename to
	bad_weak_ptr_.

From-SVN: r268995
2019-02-18 20:25:55 +00:00
Jason Merrill
2d9273ca25 Improve duplicate [[likely]] diagnostic.
* parser.c (cp_parser_statement): Make attrs_loc a range.  Pass it
	to process_stmt_hotness_attribute.
	* cp-gimplify.c (process_stmt_hotness_attribute): Take attrs_loc.
	(genericize_if_stmt): Use likely/unlikely instead of predictor_name.

From-SVN: r268994
2019-02-18 14:34:02 -05:00
Martin Sebor
84fdd8f463 cpp.texi (Conditional syntax): Add __has_attribute, __has_cpp_attribute, and __has_include.
gcc/ChangeLog:

	* doc/cpp.texi (Conditional syntax): Add __has_attribute,
	__has_cpp_attribute, and __has_include.

From-SVN: r268993
2019-02-18 11:37:55 -07:00
Thomas Koenig
378f53c752 re PR fortran/87689 (PowerPC64 ELFv2 function parameter passing violation)
2019-02-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/87689
    * trans-decl.c (gfc_get_extern_function_decl): Add argument
    actual_args and pass it through to gfc_get_function_type.
    * trans-expr.c (conv_function_val): Add argument actual_args
    and pass it on to gfc_get_extern_function_decl.
    (conv_procedure_call): Pass actual arguments to conv_function_val.
    * trans-types.c (get_formal_from_actual_arglist): New function.
    (gfc_get_function_type): Add argument actual_args.  Generate
    formal args from actual args if necessary.
    * trans-types.h (gfc_get_function_type): Add optional argument.
    * trans.h (gfc_get_extern_function_decl): Add optional argument.

2019-02-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/87689
    * gfortran.dg/lto/20091028-1_0.f90: Add -Wno-lto-type-mismatch to
    options.
    * gfortran.dg/lto/20091028-2_0.f90: Likewise.
    * gfortran.dg/lto/pr87689_0.f: New file.
    * gfortran.dg/lto/pr87689_1.f: New file.

From-SVN: r268992
2019-02-18 18:28:58 +00:00
Martin Sebor
7a247605d8 invoke.texi (-Wreturn-type): Correct and expand.
gcc/ChangeLog:

	* doc/invoke.texi (-Wreturn-type): Correct and expand.

From-SVN: r268991
2019-02-18 10:44:11 -07:00
Martin Sebor
e2ebb05cd4 PR middle-end/89294 - ICE in valid_constant_size_p
gcc/c-family/ChangeLog:

	PR middle-end/89294
	* c-common.c (invalid_array_size_error): Handle cst_size_not_constant.

gcc/ChangeLog:

	PR middle-end/89294
	* tree.c (valid_constant_size_p): Avoid assuming size is a constant
	expression.
	* tree.h (cst_size_error): Add the cst_size_not_constant enumerator.

From-SVN: r268990
2019-02-18 09:31:17 -07:00
Wilco Dijkstra
eb8c4926c5 Fix libstdc++ filesystem tests
Some recently added libstdc++ filesystem tests are missing a
dg-require-filesystem-ts.

Committed as obvious.

    libstdc++/testsuite/
	* 27_io/filesystem/operations/all.cc: Add dg-require-filesystem-ts.
	* 27_io/filesystem/operations/resize_file.cc: Likewise.
	* 27_io/filesystem/path/generation/normal2.cc: Likewise.

From-SVN: r268989
2019-02-18 14:09:17 +00:00
Wilco Dijkstra
e99589e204 Fix test pr88680.C
Fix pr88680.C failures due to short enums on arm-none-eabi.

Committed as obvious.

    gcc/testsuite/
	* g++.dg/wrappers/pr88680.C: Add -fno-short-enums.

From-SVN: r268988
2019-02-18 14:06:49 +00:00
Rainer Orth
cc2cc3bef3 Tabify all D *.exp files
libphobos:
	* testsuite/lib/libphobos-dg.exp: Tabify.
	* testsuite/lib/libphobos.exp: Likewise.
	* testsuite/libphobos.cycles/cycles.exp: Likewise.
	* testsuite/libphobos.shared/shared.exp: Likewise.
	* testsuite/libphobos.unittests/unittests.exp: Likewise.

	gcc/testsuite:
	* gdc.dg/dg.exp: Tabify.
	* gdc.dg/lto/lto.exp: Likewise.
	* gdc.test/gdc-test.exp: Likewise.
	* lib/gdc-dg.exp: Likewise.
	* lib/gdc.exp: Likewise.

From-SVN: r268987
2019-02-18 13:53:51 +00:00
Richard Biener
c41491973b re PR tree-optimization/89296 (tree copy-header masking uninitialized warning)
2019-02-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/89296
	* tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
	of no-warning flag to cases that might emit the bogus warning.

	* gcc.dg/uninit-pr89296.c: New testcase.

From-SVN: r268986
2019-02-18 12:56:15 +00:00
Jakub Jelinek
022049403b re PR bootstrap/88714 (bootstrap comparison failure on armv7l since r265398)
PR bootstrap/88714
	* config/arm/arm.md (*arm_movdi, *movdf_soft_insn): Use "r" instead of
	"q" constraint.
	* config/arm/vfp.md (*movdi_vfp): Likewise.
	* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use "r" instead of
	"q" constraint for operands[0].

From-SVN: r268985
2019-02-18 13:52:36 +01:00