// RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=gnu++98 // RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=c++11 // RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=c++14 -DCXX14=1 // expected-no-diagnostics #ifndef HEADER #define HEADER _Complex int val1 = 2i; _Complex long val2 = 2il; _Complex long long val3 = 2ill; _Complex float val4 = 2.0if; _Complex double val5 = 2.0i; _Complex long double val6 = 2.0il; #if CXX14 #pragma clang system_header namespace std { template<typename T> struct complex {}; complex<float> operator""if(unsigned long long); complex<float> operator""if(long double); complex<double> operator"" i(unsigned long long); complex<double> operator"" i(long double); complex<long double> operator"" il(unsigned long long); complex<long double> operator"" il(long double); } using namespace std; complex<float> f1 = 2.0if; complex<float> f2 = 2if; complex<double> d1 = 2.0i; complex<double> d2 = 2i; complex<long double> l1 = 2.0il; complex<long double> l2 = 2il; #endif #endif |