45 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=gnu++982// RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=c++113// RUN: %clang_cc1 -fsyntax-only -verify %s -include %s -std=c++14 -DCXX14=14 5// expected-no-diagnostics6 7#ifndef HEADER8#define HEADER9 10_Complex int val1 = 2i;11_Complex long val2 = 2il;12_Complex long long val3 = 2ill;13_Complex float val4 = 2.0if;14_Complex double val5 = 2.0i;15_Complex long double val6 = 2.0il;16 17#if CXX1418 19#pragma clang system_header20 21namespace std {22 template<typename T> struct complex {};23 complex<float> operator""if(unsigned long long);24 complex<float> operator""if(long double);25 26 complex<double> operator"" i(unsigned long long);27 complex<double> operator"" i(long double);28 29 complex<long double> operator"" il(unsigned long long);30 complex<long double> operator"" il(long double);31}32 33using namespace std;34 35complex<float> f1 = 2.0if;36complex<float> f2 = 2if;37complex<double> d1 = 2.0i;38complex<double> d2 = 2i;39complex<long double> l1 = 2.0il;40complex<long double> l2 = 2il;41 42#endif43 44#endif45