22 lines
		
	
	
		
			884 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			884 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// 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;
 | 
						|
};
 |