diff options
Diffstat (limited to 'clang/test/PCH/cxx-ms-function-specialization-class-scope.h')
-rw-r--r-- | clang/test/PCH/cxx-ms-function-specialization-class-scope.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/test/PCH/cxx-ms-function-specialization-class-scope.h b/clang/test/PCH/cxx-ms-function-specialization-class-scope.h new file mode 100644 index 0000000..7668e73 --- /dev/null +++ b/clang/test/PCH/cxx-ms-function-specialization-class-scope.h @@ -0,0 +1,29 @@ + + + +template <class T> +class B { +public: + template <class U> + B(U p) { + } + template <> + B(int p) { // expected-warning{{explicit specialization of 'B<T>' within class scope is a Microsoft extension}} + } + + template <class U> + void f(U p) { + T y = 9; + } + + + template <> + void f(int p) { // expected-warning{{explicit specialization of 'f' within class scope is a Microsoft extension}} + T a = 3; + } + + void f(int p) { + T a = 3; + } +}; + |