xref: /minix3/external/bsd/llvm/dist/clang/test/CXX/basic/basic.lookup/basic.lookup.elab/templateid.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 // elaborated-type-specifier:
4 //   class-key '::'? nested-name-specifier? 'template'? simple-template-id
5 // Tests that this form is accepted by the compiler but does not follow
6 // the elaborated lookup rules of [basic.lookup.elab].
7 
8 template <typename> class Ident {}; // expected-note {{previous use is here}}
9 
10 namespace A {
11   template <typename> void Ident();
12 
13   class Ident<int> AIdent; // expected-error {{refers to a function template}}
14   class ::Ident<int> AnotherIdent;
15 }
16 
17 class Ident<int> GlobalIdent;
18 union Ident<int> GlobalIdent2; // expected-error {{ tag type that does not match }}
19