summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/cxx17-compat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaCXX/cxx17-compat.cpp')
-rw-r--r--clang/test/SemaCXX/cxx17-compat.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/cxx17-compat.cpp b/clang/test/SemaCXX/cxx17-compat.cpp
index 5fcec2ab9cc..3d5420fa063 100644
--- a/clang/test/SemaCXX/cxx17-compat.cpp
+++ b/clang/test/SemaCXX/cxx17-compat.cpp
@@ -72,3 +72,19 @@ struct ConstexprVirtual {
// expected-warning@-4 {{virtual constexpr functions are incompatible with C++ standards before C++2a}}
#endif
};
+
+struct C { int x, y, z; };
+static auto [cx, cy, cz] = C();
+#if __cplusplus <= 201703L
+ // expected-warning@-2 {{decomposition declaration declared 'static' is a C++2a extension}}
+#else
+ // expected-warning@-4 {{decomposition declaration declared 'static' is incompatible with C++ standards before C++2a}}
+#endif
+void f() {
+ static thread_local auto [cx, cy, cz] = C();
+#if __cplusplus <= 201703L
+ // expected-warning@-2 {{decomposition declaration declared with 'static thread_local' specifiers is a C++2a extension}}
+#else
+ // expected-warning@-4 {{decomposition declaration declared with 'static thread_local' specifiers is incompatible with C++ standards before C++2a}}
+#endif
+}
OpenPOWER on IntegriCloud