gcc/libstdc++-v3/testsuite
Jason Merrill 8960a29b18 c++: limit instantiation with ill-formed class [PR96286]
I noticed that after the static_assert failures in lwg3466.cc, we got
various follow-on errors because we went ahead and tried to instantiate the
promise<T> member functions even after instantiating the class itself ran
into problems.  Interrupting instantiation of the class itself seems likely
to cause error-recovery problems, but preventing instantiation of member
functions seems strictly better for error-recovery.

This doesn't fix any of the specific testcases in PR96286, but addresses
part of that problem space.

	PR c++/96286

gcc/cp/ChangeLog:

	* cp-tree.h (struct lang_type): Add erroneous bit-field.
	(CLASSTYPE_ERRONEOUS): New.
	* pt.c (limit_bad_template_recursion): Check it.
	(instantiate_class_template_1): Set it.

libstdc++-v3/ChangeLog:

	* testsuite/30_threads/promise/requirements/lwg3466.cc:
	Remove dg-prune-outputs.

gcc/testsuite/ChangeLog:

	* g++.dg/template/access2.C: Split struct A.
2021-08-30 17:25:21 -04:00
..
17_intro libstdc++: Add another non-reserved name to tests 2021-08-26 00:09:13 +01:00
18_support libstdc++: Add [[nodiscard]] to <compare> 2021-08-05 15:16:58 +01:00
19_diagnostics
20_util libstdc++: Avoid a move in std::function construction (LWG 2447) 2021-08-27 00:12:54 +01:00
21_strings libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
22_locale
23_containers libstdc++: Fix conditions for optimizing uninitialized algos [PR102064] 2021-08-25 22:28:47 +01:00
24_iterators libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
25_algorithms libstdc++: Fix dg-prune-output assertion message 2021-08-08 19:12:22 +02:00
26_numerics libstdc++: Optimize std::seed_seq construction 2021-08-17 16:53:19 +01:00
27_io libstdc++: Skip filesystem tests that depend on permissions [PR90787] 2021-08-20 15:15:22 +01:00
28_regex libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
29_atomics libstdc++: Replace TR1 components with C++11 ones in test utils 2021-08-03 15:40:42 +01:00
30_threads c++: limit instantiation with ill-formed class [PR96286] 2021-08-30 17:25:21 -04:00
abi
backward
config
data
decimal
experimental libstdc++: Make Networking TS headers more portable [PR100285] 2021-08-26 12:41:28 +01:00
ext libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
lib libstdc++: Avoid illegal argument to verbose in dg-test callback, continued 2021-08-17 21:05:27 +02:00
libstdc++-abi
libstdc++-dg
libstdc++-prettyprinters libstdc++: Fix vector<bool> printer tests to work in debug mode 2021-08-18 14:26:38 +01:00
libstdc++-xmethods
performance
special_functions
std libstdc++: Add default template argument to basic_istream_view 2021-08-23 16:17:10 +01:00
tr1
tr2
util libstdc++: Make permissions_are_testable function inline [PR90787] 2021-08-23 14:44:48 +01:00
Makefile.am libstdc++: Remove -fno-tree-vrp after PR98834 was resolved 2021-06-23 18:28:59 +01:00
Makefile.in libstdc++: Remove -fno-tree-vrp after PR98834 was resolved 2021-06-23 18:28:59 +01:00