diff options
Diffstat (limited to 'test/SemaTemplate/explicit-instantiation.cpp')
-rw-r--r-- | test/SemaTemplate/explicit-instantiation.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/SemaTemplate/explicit-instantiation.cpp b/test/SemaTemplate/explicit-instantiation.cpp index de51f09..3a1446e 100644 --- a/test/SemaTemplate/explicit-instantiation.cpp +++ b/test/SemaTemplate/explicit-instantiation.cpp @@ -83,3 +83,16 @@ namespace explicit_instantiation_after_implicit_instantiation { void test1() { (void)&X0<1>::x; } template struct X0<1>; } + +namespace PR7622 { // expected-note{{to match this}} + template<typename,typename=int> + struct basic_streambuf; + + // FIXME: Very poor recovery here. + template<typename,typename> + struct basic_streambuf{friend bob<>()}; // expected-error{{unknown type name 'bob'}} \ + // expected-error{{ expected member name or ';' after declaration specifiers}} + template struct basic_streambuf<int>; // expected-error{{explicit instantiation of 'basic_streambuf' in class scope}} +} // expected-error{{expected ';' after struct}} + +//expected-error{{expected '}'}} |