diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-03-16 13:36:56 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-03-16 13:36:56 +0000 |
commit | 68e1ba46fe5a41c099c01869ebc7a5f5bf58b73e (patch) | |
tree | e3e38bf975ea90fa136d036db2abba0c632650ae /test/SemaTemplate/function-template-specialization.cpp | |
parent | 290cc27fe21bfce479d30a3194a20045b90afb0e (diff) | |
download | clang-68e1ba46fe5a41c099c01869ebc7a5f5bf58b73e.tar.gz |
Implement C++ DR727, which permits explicit specializations at class scope.
More generally, this permits a template to be specialized in any scope in which
it could be defined, so this also supersedes DR44 and DR374 (the latter of
which we previously only implemented in C++11 mode onwards due to unclarity as
to whether it was a DR).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327705 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/function-template-specialization.cpp')
-rw-r--r-- | test/SemaTemplate/function-template-specialization.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/SemaTemplate/function-template-specialization.cpp b/test/SemaTemplate/function-template-specialization.cpp index 6327ff64c3..a3669fd7fd 100644 --- a/test/SemaTemplate/function-template-specialization.cpp +++ b/test/SemaTemplate/function-template-specialization.cpp @@ -54,5 +54,5 @@ class Foo { // Don't crash here. template<> - static void Bar(const long& input) {} // expected-error{{explicit specialization of 'Bar' in class scope}} + static void Bar(const long& input) {} // expected-warning{{explicit specialization cannot have a storage class}} }; |