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 }