Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.old-deja/g++.pt/ttp62.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // { dg-do run } | |
2 // Origin: Ewgenij Gawrilow <gawrilow@math.TU-Berlin.DE> | |
3 | |
4 extern "C" void abort (); | |
5 | |
6 template <template <class X> class B, class A> | |
7 struct is_instance_of { | |
8 enum { answer=false }; | |
9 }; | |
10 | |
11 template <template <class X> class B, class T> | |
12 struct is_instance_of<B, B<T> > { | |
13 enum { answer=true }; | |
14 }; | |
15 | |
16 template <class X> struct C { }; | |
17 template <class X> struct D { }; | |
18 | |
19 template <class T> | |
20 bool is_C (const T&) { | |
21 return is_instance_of<C,T>::answer; | |
22 } | |
23 | |
24 int main() { | |
25 if (!is_C(C<int>())) | |
26 abort (); | |
27 if (is_C(D<int>())) | |
28 abort (); | |
29 return 0; | |
30 } |