1. 19 Feb, 2019 19 commits
    • 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
  2. 18 Feb, 2019 21 commits
    • libphobos: Detect if qsort_r is available · 36d7f151
      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
      Johannes Pfau committed
    • * fr.po: Update. · 0232a219
      From-SVN: r268998
      Joseph Myers committed
    • Improve diagnostic for redundant template arguments in declaration. · 802813ea
      	* pt.c (check_explicit_specialization): If the declarator is a
      	template-id, only check whether the arguments are dependent.
      
      From-SVN: r268997
      Jason Merrill committed
    • README: Fix typos. · ab7b72e1
      2019-02-18  Sharon Dvir  <unapologtic@gmail.com>
      
      gcc/testsuite/
      	* README: Fix typos.
      
      From-SVN: r268996
      Sharon Dvir committed
    • Fix g++.dg/torture/pr89303.C with Solaris ld · c22e84c2
      	* g++.dg/torture/pr89303.C (bad_weak_ptr): Rename to
      	bad_weak_ptr_.
      
      From-SVN: r268995
      Rainer Orth committed
    • Improve duplicate [[likely]] diagnostic. · 2d9273ca
      	* 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
      Jason Merrill committed
    • cpp.texi (Conditional syntax): Add __has_attribute, __has_cpp_attribute, and __has_include. · 84fdd8f4
      
      gcc/ChangeLog:
      
      	* doc/cpp.texi (Conditional syntax): Add __has_attribute,
      	__has_cpp_attribute, and __has_include.
      
      From-SVN: r268993
      Martin Sebor committed
    • re PR fortran/87689 (PowerPC64 ELFv2 function parameter passing violation) · 378f53c7
      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
      Thomas Koenig committed
    • invoke.texi (-Wreturn-type): Correct and expand. · 7a247605
      
      gcc/ChangeLog:
      
      	* doc/invoke.texi (-Wreturn-type): Correct and expand.
      
      From-SVN: r268991
      Martin Sebor committed
    • PR middle-end/89294 - ICE in valid_constant_size_p · e2ebb05c
      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
      Martin Sebor committed
    • Fix libstdc++ filesystem tests · eb8c4926
      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
      Wilco Dijkstra committed
    • Fix test pr88680.C · e99589e2
      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
      Wilco Dijkstra committed
    • Tabify all D *.exp files · cc2cc3be
      	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
      Rainer Orth committed
    • re PR tree-optimization/89296 (tree copy-header masking uninitialized warning) · c4149197
      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
      Richard Biener committed
    • re PR bootstrap/88714 (bootstrap comparison failure on armv7l since r265398) · 02204940
      	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
      Jakub Jelinek committed
    • re PR target/89369 (pseudo-RNG miscompiled on s390x-linux with -O2 -march=zEC12… · 290dfd9b
      re PR target/89369 (pseudo-RNG miscompiled on s390x-linux with -O2 -march=zEC12 -mtune=z13 starting with r266203)
      
      	PR target/89369
      	* config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask,
      	*r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct
      	pattern in a temporary buffer.
      	(*r<noxa>sbg_sidi_srl): Likewise.  Always use 32 as I3 rather
      	than 64-operands[2].
      
      	* gcc.c-torture/execute/pr89369.c: New test.
      	* gcc.target/s390/md/rXsbg_mode_sXl.c (rosbg_si_srl,
      	rxsbg_si_srl): Expect last 3 operands 32,63,62 rather than
      	34,63,62.
      
      From-SVN: r268984
      Jakub Jelinek committed
    • re PR target/89361 (s390 broken without S390_USE_TARGET_ATTRIBUTE, likely since r257489) · a10e76ed
      	PR target/89361
      	* config/s390/s390.c (s390_indirect_branch_attrvalue,
      	s390_indirect_branch_settings): Define unconditionally.
      	(s390_set_current_function): Likewise, but guard the whole body except
      	the s390_indirect_branch_settings call with
      	#if S390_USE_TARGET_ATTRIBUTE.
      	(TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
      
      From-SVN: r268983
      Jakub Jelinek committed
    • * config/s390/s390.md (*<risbg_n>_ior_and_sr_ze, · 14653c37
      	*<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt):
      	Use HOST_WIDE_INT_M1U instead of ~(0ULL).
      	(*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use
      	HOST_WIDE_INT_1U instead of 1ULL.
      	(*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int
      	to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul.
      	(*insv<mode><clobbercc_or_nocc>_appendbitsleft,
      	z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U
      	instead of 1UL.
      	(*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U
      	instead of 1ul.
      
      From-SVN: r268982
      Jakub Jelinek committed
    • Use 1UL constant in order to not overflow (PR c++/89383). · a5f87af7
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	PR c++/89383
      	* line-map.c (linemap_line_start): Use 1UL in order
      	to not overflow.
      
      From-SVN: r268981
      Martin Liska committed
    • [PR 89209] Avoid segfault in a peculiar corner case in SRA · 469b4adb
      2019-02-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/89209
      	* tree-sra.c (create_access_replacement): New optional parameter
      	reg_tree.  Use it as a type if non-NULL and access type is not of
      	a register type.
      	(get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
      	to create_access_replacement.
      	(sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
      	Check lacc is non-NULL before attempting to re-create it on the RHS.
      
      	testsuite/
      	* gcc.dg/tree-ssa/pr89209.c: New test.
      
      From-SVN: r268980
      Martin Jambor committed
    • Come up with fast {function,call}_summary classes (PR ipa/89306). · db30281f
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/89306
      	* cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
      	by default.
      	(symbol_table::free_edge): Recycle m_summary_id.
      	* cgraph.h (get_summary_id): New.
      	(symbol_table::release_symbol): Set m_summary_id to -1
      	by default.
      	(symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
      	* ipa-fnsummary.c (ipa_fn_summary_t): Switch from
      	function_summary to fast_function_summary.
      	* ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
      	* ipa-pure-const.c (class funct_state_summary_t):
      	Switch from function_summary to fast_function_summary.
      	* ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
      	(class ipa_ref_opt_summary_t): Switch from function_summary
      	to fast_function_summary.
      	* symbol-summary.h (class function_summary_base): New class
      	that is created from base of former function_summary.
      	(function_summary_base::unregister_hooks): New.
      	(class function_summary): Inherit from function_summary_base.
      	(class call_summary_base): New class
      	that is created from base of former call_summary.
      	(class call_summary): Inherit from call_summary_base.
      	(struct is_same): New.
      	(class fast_function_summary): New summary class.
      	(class fast_call_summary): New summary class.
      	* vec.h (vec_safe_grow_cleared): New function.
      
      From-SVN: r268979
      Martin Liska committed