]>
Commit | Line | Data |
---|---|---|
223e47cc LB |
1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | struct X0 { | |
3 | struct type { }; | |
4 | ||
5 | X0(); | |
6 | X0(int); | |
7 | (X0)(float); | |
8 | X0 (f0)(int); | |
9 | X0 (f0)(type); | |
10 | ||
11 | X0 f1(); | |
12 | X0 f1(double); | |
13 | }; | |
14 | ||
15 | X0::X0() { } | |
16 | (X0::X0)(int) { } | |
17 | ||
18 | X0 (X0::f0)(int) { return X0(); } | |
19 | ||
20 | template<typename T> | |
21 | struct X1 { | |
22 | struct type { }; | |
23 | ||
24 | X1<T>(); | |
25 | X1<T>(int); | |
26 | (X1<T>)(float); | |
27 | X1(float, float); | |
28 | (X1)(double); | |
29 | X1<T> (f0)(int); | |
30 | X1<T> (f0)(type); | |
31 | X1 (f1)(int); | |
32 | X1 (f1)(type); | |
33 | ||
34 | template<typename U> X1(U); | |
35 | X1 f2(); | |
36 | X1 f2(int); | |
37 | }; | |
38 | ||
39 | template<typename T> X1<T>::X1() { } | |
40 | template<typename T> (X1<T>::X1)(double) { } | |
41 | template<typename T> X1<T> X1<T>::f1(int) { return 0; } | |
42 | template<typename T> X1<T> (X1<T>::f1)(type) { return 0; } |