summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-06-10 20:21:15 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-06-10 20:21:15 +0000
commitcef7d378b68c7328d212e17b6fd3dc74b5d08086 (patch)
tree1159dbc3301660cc9eed485e10b59b3aa5c5e139 /clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
parent094f17beebea8fb909e99747979707a1bc1ceec4 (diff)
downloadbcm5719-llvm-cef7d378b68c7328d212e17b6fd3dc74b5d08086.tar.gz
bcm5719-llvm-cef7d378b68c7328d212e17b6fd3dc74b5d08086.zip
[-fms-extensions] Don't crash on explicit class-scope specializations & default arguments
The code had a typo it was doing: Param->setUninstantiatedDefaultArg(Param->getUninstantiatedDefaultArg()); This is a no-op but may assert, we wanted to do: Param->setUninstantiatedDefaultArg(OldParam->getUninstantiatedDefaultArg()); This fixes PR28082. llvm-svn: 272425
Diffstat (limited to 'clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp')
-rw-r--r--clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp b/clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
index 5da00837cc0..3c7111d0583 100644
--- a/clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
+++ b/clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
@@ -75,3 +75,12 @@ namespace Duplicates {
// here.
template struct A<int>;
}
+
+namespace PR28082 {
+struct S {
+ template <int>
+ int f(int = 0);
+ template <>
+ int f<0>(int); // expected-warning {{Microsoft extension}}
+};
+}
OpenPOWER on IntegriCloud