1 // RUN: %clang_cc1 -verify %s -std=c++98 -DEXT
2 // RUN: %clang_cc1 -verify %s -std=c++98 -Wno-gnu -DNONE
3 // RUN: %clang_cc1 -verify %s -std=c++98 -Wno-static-float-init -DNONE
4 // RUN: %clang_cc1 -verify %s -std=c++98 -Wno-gnu-static-float-init -DNONE
5 // RUN: %clang_cc1 -verify %s -std=c++11 -DERR
6 // RUN: %clang_cc1 -verify %s -std=c++11 -Wno-gnu -DERR
7 // RUN: %clang_cc1 -verify %s -std=c++11 -Wno-static-float-init -DNONE
8 // RUN: %clang_cc1 -verify %s -std=c++11 -Wno-gnu-static-float-init -DERR
9 
10 #if NONE
11 // expected-no-diagnostics
12 #elif ERR
13 // expected-error@20 {{in-class initializer for static data member of type 'const double' requires 'constexpr' specifier}}
14 // expected-note@20 {{add 'constexpr'}}
15 #elif EXT
16 // expected-warning@20 {{in-class initializer for static data member of type 'const double' is a GNU extension}}
17 #endif
18 
19 struct X {
20   static const double x = 0.0;
21 };
22