diff options
Diffstat (limited to 'clang/test/CXX/drs/dr0xx.cpp')
-rw-r--r-- | clang/test/CXX/drs/dr0xx.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/test/CXX/drs/dr0xx.cpp b/clang/test/CXX/drs/dr0xx.cpp index 53bd6f3f053..911aab17474 100644 --- a/clang/test/CXX/drs/dr0xx.cpp +++ b/clang/test/CXX/drs/dr0xx.cpp @@ -869,17 +869,18 @@ namespace dr68 { // dr68: yes } namespace dr69 { // dr69: yes - template<typename T> static void f() {} // #dr69-f + template<typename T> static void f() {} // FIXME: Should we warn here? inline void g() { f<int>(); } - extern template void f<char>(); // expected-error {{explicit instantiation declaration of 'f' with internal linkage}} + // FIXME: This should be rejected, per [temp.explicit]p11. + extern template void f<char>(); #if __cplusplus < 201103L // expected-error@-2 {{C++11 extension}} #endif template<void(*)()> struct Q {}; Q<&f<int> > q; #if __cplusplus < 201103L - // expected-error@-2 {{internal linkage}} expected-note@#dr69-f {{here}} + // expected-error@-2 {{internal linkage}} expected-note@-11 {{here}} #endif } |