diff options
Diffstat (limited to 'clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp')
-rw-r--r-- | clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp b/clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp new file mode 100644 index 0000000..8422c51 --- /dev/null +++ b/clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp @@ -0,0 +1,17 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -Wc++11-compat %s + +namespace N { + template<class T> class Y { // expected-note{{explicit instantiation refers here}} + void mf() { } + }; +} + +template class Z<int>; // expected-error{{explicit instantiation of non-template class 'Z'}} + +// FIXME: This example from the standard is wrong; note posted to CWG reflector +// on 10/27/2009 +using N::Y; +template class Y<int>; // expected-warning{{must occur in}} + +template class N::Y<char*>; +template void N::Y<double>::mf(); |