Commit Graph

175040 Commits

Author SHA1 Message Date
Nick Clifton 3bb6abbf4b Fix a libiberty testsuite failure
* testsuite/demangle-expected: Update expected demangling of
	enable_if pattern.
2020-03-02 03:50:34 -08:00
H.J. Lu 577350603a lto: Also copy .note.gnu.property section
When generating the separate file with LTO debug sections, we should
also copy .note.gnu.property section.

	PR lto/93966
	* simple-object.c (handle_lto_debug_sections): Also copy
	.note.gnu.property section.
2020-03-02 03:09:08 -08:00
Martin Liska 917e56a94f
Fix typo in C++ standard version.
* lto-wrapper.c: Fix typo in comment about
	C++ standard version.
2020-03-02 11:05:02 +01:00
Kewen Lin 778a77357c [testsuites] Update several scev/IVOPTs cases
Several scev/IVOPTs cases aim to check some array references are sceved and
later marked as REFERENCE ADDRESS IV groups. With IV group type dumping
improving, these check strings can be improved. Otherwise, they become fragile
with dumping changes.

This patch is to keep check strings concise, meanwhile recover the coverage of
case scev-8.c.

gcc/testsuite/ChangeLog

2020-03-02  Kewen Lin  <linkw@gcc.gnu.org>

  * gcc.dg/tree-ssa/scev-8.c: Revise check string.
  * gcc.dg/tree-ssa/scev-9.c: Ditto.
  * gcc.dg/tree-ssa/scev-10.c: Ditto.
  * gcc.dg/tree-ssa/scev-11.c: Ditto.
  * gcc.dg/tree-ssa/scev-12.c: Ditto.
2020-03-02 03:36:30 -06:00
Martin Sebor 649e174102 PR middle-end/92721 - checking ICE on attribute access redeclaration
gcc/c-family/ChangeLog:

	PR c++/92721
	* c-attribs.c (append_access_attrs): Correctly handle attribute.
	(handle_access_attribute): Same.

gcc/ChangeLog:

	PR c++/92721
	* calls.c (init_attr_rdwr_indices): Correctly handle attribute.

gcc/testsuite/ChangeLog:

	PR c++/92721
	g++.dg/ext/attr-access.C: New test.
2020-03-01 17:58:45 -07:00
Martin Sebor 726e292d41 PR middle-end/93926 - ICE on a built-in redeclaration returning an integer instead of a pointer
gcc/c/ChangeLog:

	PR middle-end/93926
	* c-decl.c (types_close_enough_to_match): New function.
	(match_builtin_function_types):
	(diagnose_mismatched_decls): Add missing inform call to a warning.

gcc/testsuite/ChangeLog:

	PR middle-end/93926
	* gcc.dg/Wbuiltin-declaration-mismatch-13.c: New test.
2020-03-01 17:52:44 -07:00
Martin Sebor a499c2f899 PR c/93812 - ICE on redeclaration of an attribute format function without protoype
gcc/c/ChangeLog:

	PR c/93812
	* c-typeck.c (build_functype_attribute_variant): New function.
	(composite_type): Call it.

gcc/testsuite/ChangeLog:

	PR c/93812
	* gcc.dg/format/proto.c: New test.
2020-03-01 17:41:45 -07:00
Martin Sebor 1e9369c5dc PR middle-end/93829 - bogus -Wstringop-overflow on memcpy of a struct with a pointer member from another with a long string
gcc/testsuite/ChangeLog:

	PR middle-end/93829
	* gcc.dg/Wstringop-overflow-32.c: New test.

gcc/ChangeLog:

	PR middle-end/93829
	* tree-ssa-strlen.c (count_nonzero_bytes): Set the size to that
	  of a pointer in the outermost ADDR_EXPRs.
2020-03-01 17:35:49 -07:00
GCC Administrator 750d061df0 Daily bump. 2020-03-02 00:16:33 +00:00
Segher Boessenkool 151bf47e78 Fix test for pr68805.
PR testsuite/91797
	* gcc.target/pwoerpc/pr68805.c: Update expected output.
2020-03-01 11:17:30 -07:00
Segher Boessenkool 03a7120888 Fix test for pr88233.
PR testsuite/91799
	* gcc.target/powerpc/pr88233.c: Update expected output and
	add target selector.
2020-03-01 11:13:18 -07:00
Iain Sandoe 26e78220c7 coroutines: Test that we correctly use class data members.
Improve test coverage, NFC.

gcc/testsuite/ChangeLog:

2020-03-01 Iain Sandoe <iain@sandoe.co.uk>

	* g++.dg/coroutines/torture/class-07-data-member.C: New test.
2020-03-01 17:18:45 +00:00
Paul Thomas 957a1b14e9 Patch and ChangeLogs for PR92976 2020-03-01 16:15:28 +00:00
Paul Thomas 12caab4fb1 ChangeLogs for PR92959 2020-03-01 16:08:32 +00:00
Paul Thomas 7067f8c814 Patch for PR92959 2020-03-01 16:04:38 +00:00
Iain Sandoe 63cc547f6d Darwin, libsanitizer: Adjust minimum supported Darwin version (PR93731).
The current imported libsanitizer code produces kernel panics for
Darwin 11 (macOS 10.7) and is unsupported for earlier versions already.

It is not clear if the current sources are even intended to be supported
on Darwin 11, so this patch causes the default to be build without
sanitizers for Darwin <= 11.

2020-03-01  Iain Sandoe  <iain@sandoe.co.uk>

	PR sanitizer/93731
	* configure.tgt (x86_64-*-darwin*, i?86-*-darwin*): Enable by
	default only for Darwin versions greater than 12 (macOS 10.8).
2020-03-01 14:40:57 +00:00
Iain Sandoe 69a9b14b96 [Darwin, libsanitizer] Default to no sanitizer for Darwin <= 10
Darwin10 is no longer supported upstream and will not build without
additional patches.
2020-03-01 14:25:46 +00:00
H.J. Lu fed76afb95 x32: Update baseline_symbols.txt
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2020-03-01 06:13:28 -08:00
GCC Administrator 6fa4bc48bd Daily bump. 2020-03-01 00:16:37 +00:00
Iain Sandoe 1cb65b1207 coroutines: Add a test for non-trivial await_resume return type.
Improve test coverage.

gcc/testsuite/ChangeLog:

2020-02-29  Iain Sandoe  <iain@sandoe.co.uk>

	* g++.dg/coroutines/coro1-ret-int-yield-int.h: Add templated
	awaitable.
	* g++.dg/coroutines/torture/co-await-15-return-non-triv.C: New test.
2020-02-29 20:46:15 +00:00
Jeff Law c7dbc54958 Make STATIC_CHAIN_REGNUM a call used register.
* config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19.
	* config/v850/v850.c (v850_asm_trampoline_template): Update
	accordingly.
2020-02-29 13:45:37 -07:00
John David Anglin 819852b98e Disable gnat.dg/socket1.adb on hppa*-*-hpux*.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	PR ada/91100
	* gnat.dg/socket1.adb: Disable on hppa*-*-hpux*.
2020-02-29 20:36:49 +00:00
John David Anglin 9f6dd26819 Fix/skip various tests for hppa*-*-hpux*.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	* g++.dg/pr90981.C: Skip on hppa*-*-hpux*.
	* gcc.dg/gnu2x-attrs-1.c: Add dg-require-alias.
	* gcc.dg/pr90756.c: Add -fno-common option on hppa*-*-hpux*.
	* gcc.dg/torture/20190327-1.c: Likewise.
	* gcc.dg/spellcheck-options-21.c: Skip on 32-bit hppa*-*-hpux*.
	* gcc.dg/strlenopt-68.c: Skip on hppa*-*-hpux*.
	* gcc.dg/torture/pr90020.c: Likewise.
	* gcc.dg/ucnid-16-utf8.c: Add dg-require-iconv "latin1".
2020-02-29 20:16:39 +00:00
John David Anglin 38b1722d5d XFAIL IPA tests that are not supported on 32-bit hppa*-*-hpux*.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	PR ipa/92548
	* gcc.dg/ipa/ipa-sra-12.c: xfail parameter split test on 32-bit
	hppa*-*-hpux*.
	* gcc.dg/ipa/ipa-sra-14.c: Likewise.
	* gcc.dg/ipa/ipcp-agg-12.c: xfail adding extra caller test.
2020-02-29 19:23:02 +00:00
John David Anglin 566f544c3e Skip charset.cc tests on *-*-hpux*.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	* testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*.
	* testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
	* testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
	* testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
	* testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
2020-02-29 18:28:40 +00:00
John David Anglin bd55ce6365 Explicitly link with libatomic when needed.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	* testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
	Add libatomic option.
	* testsuite/30_threads/jthread/jthread.cc: Likewise.
2020-02-29 17:46:12 +00:00
François Dumont 44c85722dc libstdc++ Hastable: Move std::is_permutation to limit includes
Move std::is_permutation algorithm with associated helpers to stl_algobase.h
to remove stl_algo.h include from hashtable_policy.h and so reduce preprocess
size of unordered_map and unordered_set headers.

	* include/bits/stl_algo.h
	(__find_if, __count_if, __is_permutation, std::is_permutation): Move...
	* include/bits/stl_algobase.h: ...here.
	* include/bits/hashtable_policy.h: Remove <bits/stl_algo.h> include.
2020-02-29 18:40:39 +01:00
John David Anglin 68a1a11fad Explicitly link with libatomic when needed.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	* testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic
	option.
	* testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_source.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_token.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
	Likewise.
2020-02-29 17:32:24 +00:00
John David Anglin b177b3696c Fix typo in last entry. 2020-02-29 17:05:47 +00:00
John David Anglin 0483af36a2 Add dg-require-visibility to tests that require visibility support.
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	* /g++.dg/ext/visibility/ref-temp1.C: Require visibility.
	* gfortran.dg/pr90988_4.f: Likewise.
	* gfortran.dg/pr91372.f90: Likewise.
2020-02-29 16:56:07 +00:00
John David Anglin d4912dc766 Fix baseline symbols on hppa-linux-gnu
2020-02-29  John David Anglin  <danglin@gcc.gnu.org>

	PR libstdc++/92906
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2020-02-29 16:18:35 +00:00
Jeff Law 5b4c2cc699 Fix trivial regression from recent IRA changes
* gcc.target/or1k/return-2.c: Update expected output.
2020-02-29 09:03:34 -07:00
Joseph Myers d0ad2a2233 Update cpplib ru.po.
* ru.po: Update.
2020-02-29 15:54:49 +00:00
Jeff Law d48e117527 Fix regression reported by tester due to recent IRA changes
* gcc.target/xstormy16/sfr/06_sfrw_to_var.c: Update expected output.
2020-02-29 08:30:20 -07:00
Jason Merrill 117baab877 c++: implement C++20 Disambiguating Nested-Requirements (P2092R0)
The rule change in the title matches GCC's current behavior, so no change
was needed.  But the paper also makes 'typename' optional in a
requirement-parameter-list, so this implements that.

gcc/cp/ChangeLog
2020-02-28  Jason Merrill  <jason@redhat.com>

	Implement P2092R0, Disambiguating Nested-Requirements
	* parser.c (cp_parser_requirement_parameter_list): Pass
	CP_PARSER_FLAGS_TYPENAME_OPTIONAL.
2020-02-29 00:43:23 -05:00
GCC Administrator 96ad5fb8bc Daily bump. 2020-02-29 00:16:37 +00:00
Patrick Palka ce33801fe4 libstdc++: Fix bogus use of memcmp in ranges::lexicographical_compare (PR 93972)
We were enabling the memcmp optimization in ranges::lexicographical_compare for
signed integral types and for integral types wider than a byte.  But memcmp
gives the wrong answer for arrays of such types.  This patch fixes this issue by
refining the condition that enables the memcmp optimization.  It's now
consistent with the corresponding condition used in
std::lexicographical_compare.

libstdc++-v3/ChangeLog:

	PR libstdc++/93972
	* include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
	Fix condition for when to use memcmp, making it consistent with the
	corresponding condition used in std::lexicographical_compare.
	* testsuite/25_algorithms/lexicographical_compare/93972.cc: New test.
2020-02-28 17:55:44 -05:00
Iain Sandoe e82192021d coroutines: Update func-params-08.C to suspend three times.
The awaitable initially committed was returning "always ready"
which meant that the suspension code was not used.  Update
the test to suspend at each co_await, since this exercises more
of the infrastructure.

gcc/testsuite/ChangeLog:

2020-02-28  Iain Sandoe  <iain@sandoe.co.uk>

	* g++.dg/coroutines/torture/func-params-08.C: Update
	to suspend for each co_await operation.
2020-02-28 20:52:17 +00:00
eric fang 3f469f585e runtime: handle linux/arm64 signal register
Set sigpc and implement dumpregs for linux/arm64.
Without this change, cmd/vet tool test will fail randomly.

Updates golang/go#20931

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/220543
2020-02-28 12:24:21 -08:00
Patrick Palka 799270b430 libstdc++: Update the <numeric> synopsis test to latest standard
Tested with

  make check RUNTESTFLAGS="conformance.exp=*numeric*synopsis* --target_board=unix/-std=$std"

for std in {c++98, c++11, c++17, c++2a}.

libstdc++-v3/ChangeLog:

	* testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for
	functions introduced in C++11, C++17 and C++2a.  Add 'constexpr' to
	existing signatures for C++2a.
2020-02-28 15:08:14 -05:00
Jason Merrill 586b016cd4 c++: Fix constrained conversion op.
We don't want to promote a conversion from viable == 0 to viable == -1.
Found in ranges-v3.

gcc/cp/ChangeLog
2020-02-28  Jason Merrill  <jason@redhat.com>

	* call.c (build_user_type_conversion_1): Don't look at the second
	conversion of a non-viable candidate.
2020-02-28 13:44:44 -05:00
Jonathan Wakely 4735f92d48 libstdc++: test for failing assertion should use 'run' not 'compile'
And it only needs to define _GLIBCXX_ASSERTIONS not _GLIBCXX_DEBUG.

	* testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run
	test instead of just compiling it.
2020-02-28 18:41:18 +00:00
Paul Thomas 7485ace81d Commit for PR92785 2020-02-28 18:32:50 +00:00
Michael Meissner ab2f2e1911 Fix target/93937
2020-02-28  Michael Meissner  <meissner@linux.ibm.com>

	PR target/93937
	* config/rs6000/vsx.md (vsx_extract_<mode>_<VS_scalar>mode_var):
	Delete, the insn will never work.
2020-02-28 13:28:45 -05:00
Patrick Palka 77e596cf3c libstdc++: Also disable caching of reverse_view::begin() for common_ranges
When the underlying range models common_range, then reverse_view::begin() is
already O(1) without caching.  So we should disable the cache in this case too.

libstdc++-v3/ChangeLog:

	* include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false
	whenever the underlying range models common_range.
2020-02-28 11:55:58 -05:00
Martin Liska 08bf7bde9f
Improve detection of ld_date.
PR other/93965
	* configure.ac: Improve detection of ld_date by requiring
	either two dashes or none.
	* configure: Regenerate.
2020-02-28 17:53:27 +01:00
Jakub Jelinek 18396541e4 c++: Further tweak for P1937R2 - const{expr,eval} inconsistencies
Seems I've missed one thing, as the first hunk in
c8e68ed202
changes the wording so that only potentially-evaluated id-expressions that
denote immediate functions must appear only in the specified contexts.
That IMO means that in unevaluated contexts there aren't such restrictions
anymore, so I think in unevaluated contexts one should be able to take the
address of an immediate function.

2020-02-28  Jakub Jelinek  <jakub@redhat.com>

	P1937R2 - Fixing inconsistencies between const{expr,eval} functions
	* typeck.c (cp_build_addr_expr_1): Allow taking address of immediate
	functions in unevaluated contexts.

	* g++.dg/cpp2a/consteval3.C: Change dg-error about taking address of
	immediate function in unevaluated contexts into dg-bogus.
	* g++.dg/cpp2a/consteval16.C: New test.
2020-02-28 17:35:32 +01:00
Vladimir N. Makarov f3ce088645 One more patch for PR93564: Prefer smaller hard regno when we do not honor reg alloc order.
2020-02-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/93564
	* ira-color.c (assign_hard_reg): Prefer smaller hard regno when we
	do not honor reg alloc order.
2020-02-28 11:27:30 -05:00
Joel Hutton 349297b6e6 Fix misleading aarch64 mcpu/march warning string
The message for conflicting mcpu and march previously printed the
architecture of the CPU instead of the CPU name, as well as omitting the
extensions to the march string. This patch corrects both errors. This
patch fixes PR target/87612.

2020-02-27  Joel Hutton  <Joel.Hutton@arm.com>

        PR target/87612
        * config/aarch64/aarch64.c (aarch64_override_options): Fix
        misleading warning string.
2020-02-28 15:19:00 +00:00
Patrick Palka a153501578 libstdc++: Memoize {drop,drop_while,filter,reverse}_view::begin
This patch adds memoization to these four views so that their begin() has the
required amortized constant time complexity.

The cache is enabled only for forward_ranges and above because we need the
underlying iterator to be copyable and multi-pass in order for the cache to be
usable.  In the general case we represent the cached result of begin() as a bare
iterator.  This takes advantage of the fact that value-initialized forward
iterators can be compared to as per N3644, so we can use a value-initialized
iterator to denote the "empty" state of the cache.

As a special case, when the underlying range models random_access_range and when
it's profitable size-wise, then we cache the offset of the iterator from the
beginning of the range instead of caching the iterator itself.

Additionally, in drop_view and reverse_view we disable the cache when the
underlying range models random_access_range, because in these cases recomputing
begin() takes O(1) time anyway.

libstdc++-v3/ChangeLog:

	* include/std/ranges (__detail::_CachedPosition): New struct.
	(views::filter_view::_S_needs_cached_begin): New member variable.
	(views::filter_view::_M_cached_begin): New member variable.
	(views::filter_view::begin): Use _M_cached_begin to cache its
	result.
	(views::drop_view::_S_needs_cached_begin): New static member variable.
	(views::drop_view::_M_cached_begin): New member variable.
	(views::drop_view::begin): Use _M_cached_begin to cache its result
	when _S_needs_cached_begin.
	(views::drop_while_view::_M_cached_begin): New member variable.
	(views::drop_while_view::begin): Use _M_cached_begin to cache its
	result.
	(views::reverse_view::_S_needs_cached_begin): New static member
	variable.
	(views::reverse_view::_M_cached_begin): New member variable.
	(views::reverse_view::begin): Use _M_cached_begin to cache its result
	when _S_needs_cached_begin.
	* testsuite/std/ranges/adaptors/drop.cc: Augment test to check that
	drop_view::begin caches its result.
	* testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check
	that drop_while_view::begin caches its result.
	* testsuite/std/ranges/adaptors/filter.cc: Augment test to check that
	filter_view::begin caches its result.
	* testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that
	reverse_view::begin caches its result.
2020-02-28 09:33:03 -05:00