136f5cfe4df32af6c5fe01228102512996f566f9dRichard Smith// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s 236f5cfe4df32af6c5fe01228102512996f566f9dRichard Smith 336f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithusing size_t = decltype(sizeof(int)); 436f5cfe4df32af6c5fe01228102512996f566f9dRichard Smith 536f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithint &operator "" _x1 (const char *); 636f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithdouble &i1 = 'a'_x1; // expected-error {{no matching literal operator}} 736f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithdouble &operator "" _x1 (wchar_t); 836f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithdouble &i2 = L'a'_x1; 936f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithdouble &i3 = 'a'_x1; // expected-error {{no matching literal operator}} 1036f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithdouble &i4 = operator"" _x1('a'); // ok 1136f5cfe4df32af6c5fe01228102512996f566f9dRichard Smith 1236f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithchar &operator "" _x1(char16_t); 1336f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithchar &i5 = u'a'_x1; // ok 1436f5cfe4df32af6c5fe01228102512996f566f9dRichard Smithdouble &i6 = L'a'_x1; // ok 15