OSDN Git Service

PR c++/56395
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / error40.C
1 // { dg-options "-fno-pretty-templates" }
2
3 template <class T, int N=0, int X=1>
4 struct A
5 {
6   struct AN;
7 };
8
9 void foo(void)
10 {
11   A<void> a = 0;                // { dg-error "A<void, 0, 1>" }
12 }
13
14 template <class T> T f(T);          // { dg-message "int f<int>.int." }
15 template <class T> T f(T, int = 0); // { dg-message "" }
16
17 template <class T>
18 struct B
19 {
20   typedef typename T::AN BN;
21
22   BN f();                       // { dg-message "AN" }
23   BN f(int = 0);                // { dg-message "" }
24 };
25
26 int main()
27 {
28   f(1);                         // { dg-error "" }
29   // { dg-message "candidate" "candidate note" { target *-*-* } 28 }
30   B<A<int> >().f();             // { dg-error "" }
31   // { dg-message "candidate" "candidate note" { target *-*-* } 30 }
32 }