| // { dg-do compile { target c++11 } } |
| |
| // Can't have *both* literal operator template and raw literal operator. |
| |
| int |
| operator"" _abc(const char*) |
| { |
| return 42; |
| } |
| |
| template<char...> |
| int |
| operator"" _abc() // { dg-error "literal operator template|conflicts with raw literal operator" } |
| { |
| return 13; |
| } |
| |
| template<char...> |
| int |
| operator"" _def() |
| { |
| return 12; |
| } |
| |
| int |
| operator"" _def(const char*) // { dg-error "raw literal operator|conflicts with literal operator template" } |
| { |
| return 43; |
| } |
| |
| int |
| operator"" _ghi(long double) |
| { |
| return 42; |
| } |
| |
| template<char...> |
| int |
| operator"" _ghi() // OK |
| { |
| return 13; |
| } |