Daniel Dunbar | a45cf5b | 2009-03-24 02:24:46 | [diff] [blame] | 1 | // RUN: clang-cc -fsyntax-only -verify %s |
Douglas Gregor | f8f8683 | 2009-02-11 18:16:40 | [diff] [blame] | 2 | |
| 3 | template<typename T, int N = 2> struct X; // expected-note{{template is declared here}} |
| 4 | |
| 5 | X<int, 1> *x1; |
| 6 | X<int> *x2; |
| 7 | |
Douglas Gregor | 7f74112 | 2009-02-25 19:37:18 | [diff] [blame] | 8 | X<> *x3; // expected-error{{too few template arguments for class template 'X'}} |
Douglas Gregor | f8f8683 | 2009-02-11 18:16:40 | [diff] [blame] | 9 | |
| 10 | template<typename U = float, int M> struct X; |
| 11 | |
| 12 | X<> *x4; |
Anders Carlsson | dd096d8 | 2009-06-05 02:12:32 | [diff] [blame^] | 13 | |
| 14 | template<typename T = int> struct Z; |
| 15 | template struct Z<>; |