summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/dllexport.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2015-09-15 21:05:30 +0000
committerHans Wennborg <hans@hanshq.net>2015-09-15 21:05:30 +0000
commit5869ec4c6c6221afc3ceeb1758abf02b5ff9db09 (patch)
tree71a6f21ec631b40109e235102c4a404e8e50f28f /clang/test/SemaCXX/dllexport.cpp
parent3df1840cfc5048e04ad247e59547132475a8d437 (diff)
downloadbcm5719-llvm-5869ec4c6c6221afc3ceeb1758abf02b5ff9db09.tar.gz
bcm5719-llvm-5869ec4c6c6221afc3ceeb1758abf02b5ff9db09.zip
MS ABI: Don't allow dllexport/import on lambdas
This is to follow up on David's comment in http://reviews.llvm.org/D12422#235509 llvm-svn: 247718
Diffstat (limited to 'clang/test/SemaCXX/dllexport.cpp')
-rw-r--r--clang/test/SemaCXX/dllexport.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/dllexport.cpp b/clang/test/SemaCXX/dllexport.cpp
index f7076fb8e86..a32ba44442d 100644
--- a/clang/test/SemaCXX/dllexport.cpp
+++ b/clang/test/SemaCXX/dllexport.cpp
@@ -1083,3 +1083,12 @@ template<typename T> template<typename U> __declspec(dllexport) constexpr int CT
#endif // __has_feature(cxx_variable_templates)
// FIXME: Precedence rules seem to be different for classes.
+
+//===----------------------------------------------------------------------===//
+// Lambdas
+//===----------------------------------------------------------------------===//
+// The MS ABI doesn't provide a stable mangling for lambdas, so they can't be imported or exported.
+#ifdef MS
+// expected-error@+2{{lambda cannot be declared 'dllexport'}}
+#endif
+auto Lambda = []() __declspec(dllexport) -> bool { return true; };
OpenPOWER on IntegriCloud