1. 20 Feb, 2019 1 commit
  2. 19 Feb, 2019 24 commits
    • * config/gcn/gcn.c (print_operand): Fix typo. · a94d5170
      From-SVN: r269028
      Jonathan Wakely committed
    • compiler: add debugger-callable AST dump functins · f1c4b346
          
          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
      Ian Lance Taylor committed
    • Fix pr88850 test · e8350f09
      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
      Wilco Dijkstra committed
    • Makefile.am: Avoid the -D option which is not available with the install-sh fallback. · 4f19d0e7
      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
      Bernd Edlinger committed
    • re PR fortran/89384 (CONTIGUOUS dummy argument in BIND(C) interface incorrect… · 9d52e1bb
      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
      Thomas Koenig committed
    • unwind-dw2.c (_Unwind_GetGR): Compare regno instead of index to DWARF_ZERO_REG. · fe95aee9
      	* unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare
      	regno instead of index to DWARF_ZERO_REG.
      
      From-SVN: r269021
      Uros Bizjak committed
    • [PR87924] OpenACC wait clauses without async-arguments: remove XFAILs · 3b8f48d6
      ... 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
      Thomas Schwinge committed
    • re PR go/89169 (FAIL: internal/cpu) · b05b2dba
      	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
      Ian Lance Taylor committed
    • runtime: abort stack scan in cases that we cannot unwind the stack · 6bd37418
          
          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
      Ian Lance Taylor committed
    • i386: Set ix86_fpmath to FPMATH_387 without SSE · 23c4471e
      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
      H.J. Lu committed
    • re PR c/87924 (OpenACC wait clauses without async-arguments) · 19695f4d
      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
      Chung-Lin Tang committed
    • re PR tree-optimization/88074 (g++ hangs on math expression) · 83fce900
      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
      Richard Biener committed
    • Fix libphobos.shared/load.d compile failure on Solaris · be200c5c
      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
      Iain Buclaw committed
    • rtlanal.c (get_initial_register_offset): Fall back to the estimate as long as… · 6138fed0
      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
      Eric Botcazou committed
    • Fix libphobos linking on Solaris 11 · 1d679134
      	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_NET): New macro.
      	* configure.ac: Invoke it.
      	* configure: Regenerate.
      
      From-SVN: r269012
      Rainer Orth committed
    • re PR middle-end/89303 (memory leak with shared_ptr and enable_shared_from_this) · 0db1a7c2
      	PR middle-end/89303
      	* g++.dg/torture/pr89303.C: Move everything from std namespace to my
      	namespace.
      
      From-SVN: r269010
      Jakub Jelinek committed
    • re PR c++/89387 (ICE in maybe_generic_this_capture at gcc/cp/lambda.c:945 since r268851) · d5fe39d4
      	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
      Jakub Jelinek committed
    • re PR c++/89391 (ICE in build_target_expr_with_type, at cp/tree.c:795) · 50aaebab
      	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
      Jakub Jelinek committed
    • re PR c++/89390 (ICE in get_string, at spellcheck-tree.h:46) · 883c0796
      	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
      Jakub Jelinek committed
    • Adjust C++11/C++14 tests to work with -fchar8_t · 102a4fe1
      	* 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
      Jonathan Wakely committed
    • P0482R5 char8_t: New standard library tests · 46ca1dd7
      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
      Tom Honermann committed
    • P0482R5 char8_t: Standard library support · c124af93
      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
      Tom Honermann committed
    • PR c++/89336 - multiple stores in constexpr stmt. · e8b3c1bc
      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
      Jason Merrill committed
    • Daily bump. · 44db22fc
      From-SVN: r269002
      GCC Administrator committed
  3. 18 Feb, 2019 15 commits