summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX/warn-static-const-float.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/warn-static-const-float.cpp')
-rw-r--r--test/SemaCXX/warn-static-const-float.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/SemaCXX/warn-static-const-float.cpp b/test/SemaCXX/warn-static-const-float.cpp
new file mode 100644
index 0000000..481a410
--- /dev/null
+++ b/test/SemaCXX/warn-static-const-float.cpp
@@ -0,0 +1,21 @@
+// RUN: %clang_cc1 -verify %s -std=c++98 -DEXT
+// RUN: %clang_cc1 -verify %s -std=c++98 -Wno-gnu -DNONE
+// RUN: %clang_cc1 -verify %s -std=c++98 -Wno-static-float-init -DNONE
+// RUN: %clang_cc1 -verify %s -std=c++98 -Wno-gnu-static-float-init -DNONE
+// RUN: %clang_cc1 -verify %s -std=c++11 -DERR
+// RUN: %clang_cc1 -verify %s -std=c++11 -Wno-gnu -DERR
+// RUN: %clang_cc1 -verify %s -std=c++11 -Wno-static-float-init -DNONE
+// RUN: %clang_cc1 -verify %s -std=c++11 -Wno-gnu-static-float-init -DERR
+
+#if NONE
+// expected-no-diagnostics
+#elif ERR
+// expected-error@20 {{in-class initializer for static data member of type 'const double' requires 'constexpr' specifier}}
+// expected-note@20 {{add 'constexpr'}}
+#elif EXT
+// expected-warning@20 {{in-class initializer for static data member of type 'const double' is a GNU extension}}
+#endif
+
+struct X {
+ static const double x = 0.0;
+};
OpenPOWER on IntegriCloud