1*9710338aSTim Northover // RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=gnu++98 2*9710338aSTim Northover // RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=c++11 3*9710338aSTim Northover // RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=c++14 -DCXX14=1 4*9710338aSTim Northover 5*9710338aSTim Northover // expected-no-diagnostics 6*9710338aSTim Northover 7*9710338aSTim Northover #ifndef HEADER 8*9710338aSTim Northover #define HEADER 9*9710338aSTim Northover 10*9710338aSTim Northover _Complex int val1 = 2i; 11*9710338aSTim Northover _Complex long val2 = 2il; 12*9710338aSTim Northover _Complex long long val3 = 2ill; 13*9710338aSTim Northover _Complex float val4 = 2.0if; 14*9710338aSTim Northover _Complex double val5 = 2.0i; 15*9710338aSTim Northover _Complex long double val6 = 2.0il; 16*9710338aSTim Northover 17*9710338aSTim Northover #if CXX14 18*9710338aSTim Northover 19*9710338aSTim Northover #pragma clang system_header 20*9710338aSTim Northover 21*9710338aSTim Northover namespace std { 22*9710338aSTim Northover template<typename T> struct complex {}; 23*9710338aSTim Northover complex<float> operator""if(unsigned long long); 24*9710338aSTim Northover complex<float> operator""if(long double); 25*9710338aSTim Northover 26*9710338aSTim Northover complex<double> operator"" i(unsigned long long); 27*9710338aSTim Northover complex<double> operator"" i(long double); 28*9710338aSTim Northover 29*9710338aSTim Northover complex<long double> operator"" il(unsigned long long); 30*9710338aSTim Northover complex<long double> operator"" il(long double); 31*9710338aSTim Northover } 32*9710338aSTim Northover 33*9710338aSTim Northover using namespace std; 34*9710338aSTim Northover 35*9710338aSTim Northover complex<float> f1 = 2.0if; 36*9710338aSTim Northover complex<float> f2 = 2if; 37*9710338aSTim Northover complex<double> d1 = 2.0i; 38*9710338aSTim Northover complex<double> d2 = 2i; 39*9710338aSTim Northover complex<long double> l1 = 2.0il; 40*9710338aSTim Northover complex<long double> l2 = 2il; 41*9710338aSTim Northover 42*9710338aSTim Northover #endif 43*9710338aSTim Northover 44*9710338aSTim Northover #endif 45