OSDN Git Service

PR c++/51107
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / sfinae17.C
1 // PR c++/48530
2 // { dg-options -std=c++0x }
3
4 template<class T,
5          class = decltype(T{})
6 >
7 char f(int);
8
9 template<class>
10 char (&f(...))[2];
11
12 struct DelDtor {
13   ~DelDtor() = delete;
14 };
15
16 static_assert(sizeof(f<DelDtor[2]>(0)) != 1, "Error");
17
18 struct A
19 {
20   static DelDtor *p;
21 };
22
23 template<class T,
24          class = decltype(delete T::p, (T*)0)
25 >
26 char g(int);
27
28 template<class>
29 char (&g(...))[2];
30
31 static_assert(sizeof(g<DelDtor>(0)) != 1, "Error");