diff options
Diffstat (limited to 'lib/Parse/ParseExprCXX.cpp')
-rw-r--r-- | lib/Parse/ParseExprCXX.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index d8663077fd..c735c6f2b3 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -1905,8 +1905,13 @@ bool Parser::ParseUnqualifiedIdOperator(CXXScopeSpec &SS, bool EnteringContext, if (getLang().CPlusPlus0x && Tok.is(tok::string_literal)) { Diag(Tok.getLocation(), diag::warn_cxx98_compat_literal_operator); + // FIXME: Add a FixIt to insert a space before the suffix, and recover. + if (Tok.hasUDSuffix()) { + Diag(Tok.getLocation(), diag::err_literal_operator_missing_space); + return true; + } if (Tok.getLength() != 2) - Diag(Tok.getLocation(), diag::err_operator_string_not_empty); + Diag(Tok.getLocation(), diag::err_literal_operator_string_not_empty); ConsumeStringToken(); if (Tok.isNot(tok::identifier)) { |