// RUN: %clang_cc1 -std=c++11 %s -verify
voidoperator "" _a(constchar*);namespaceN{using::operator "" _a;voidoperator "" _b(constchar*);}using N::operator"" _b;classC{voidoperator "" _c(constchar*);// expected-error {{must be in a namespace or global scope}}
staticvoidoperator "" _c(unsignedlonglong);// expected-error {{must be in a namespace or global scope}}
friendvoidoperator"" _d(constchar*);};int operator "" _e;// expected-error {{cannot be the name of a variable}}
voidf(){intoperator"" _f;// expected-error {{cannot be the name of a variable}}
}extern"C++"{voidoperator "" _g(constchar*);}template<char...>voidoperator "" _h(){}template<>void operator "" _h<'a','b','c'>(){}templatevoidoperator"" _h<'a','b','c','d'>();namespacerdar13605348{classC{doubleoperator"" _x(longdoublevalue){returndouble(value);}// expected-error{{literal operator 'operator""_x' must be in a namespace or global scope}}
doublevalue(){return3.2_x;}// expected-error{{no matching literal operator for call to}}
};}