// 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 struct complex {}; complex operator""if(unsigned long long); complex operator""if(long double); complex operator"" i(unsigned long long); complex operator"" i(long double); complex operator"" il(unsigned long long); complex operator"" il(long double); } using namespace std; complex f1 = 2.0if; complex f2 = 2if; complex d1 = 2.0i; complex d2 = 2i; complex l1 = 2.0il; complex l2 = 2il; #endif #endif