Commit 39d1184b by Jonathan Wakely Committed by Jonathan Wakely

PR other/90695 reduce testcase to remove library dependency

This reproduces the original ICE fixed by r178857 (tested at r178852 and
r178860), without depending on a libstdc++ header that keeps changing.

The number of errors differs between C++14 and C++17 modes, so the fixed
test uses dg-excess-errors to match any number of them. The precise
errors aren't what's being tested for here anyway, the point of the test
is to verify the ICE in PR 50391 is fixed.

	PR other/90695
	* g++.dg/cpp0x/noexcept15.C: Remove dependency on library header.

From-SVN: r272121
parent 97623b52
2019-06-10 Jonathan Wakely <jwakely@redhat.com>
PR other/90695
* g++.dg/cpp0x/noexcept15.C: Remove dependency on library header.
2019-06-10 Jakub Jelinek <jakub@redhat.com> 2019-06-10 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/gomp/scan-1.c: New test. * c-c++-common/gomp/scan-1.c: New test.
......
// PR c++/50391 // PR c++/50391
// { dg-do compile { target c++11 } } // { dg-do compile { target c++11 } }
#include <type_traits> namespace std
{
template<typename T, T Val>
struct integral_constant
{ static constexpr T value = Val; };
template<typename T>
struct is_abstract
: integral_constant<bool, __is_abstract(T)>
{ };
template<typename T, bool = is_abstract<T>::value>
struct is_destructible
: integral_constant<bool, true>
{ };
template<typename T>
struct is_destructible<T, true>
: integral_constant<bool, false>
{ };
template<typename T>
struct is_nothrow_move_constructible
: is_destructible<T>
{ };
template<typename T>
struct decay
{ typedef T type; };
template<typename T>
struct decay<T&>
{ typedef T type; };
} // std
template<class Tp> template<class Tp>
struct single struct single
{ {
Tp elem; // { dg-error "incomplete type" } Tp elem;
constexpr single(const Tp& e) constexpr single(const Tp& e)
: elem(e) { } : elem(e) { }
...@@ -30,3 +64,5 @@ foo(Blob *b) ...@@ -30,3 +64,5 @@ foo(Blob *b)
{ {
make_single(*b); make_single(*b);
} }
// { dg-excess-errors "incomplete type|not a member" }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment