diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-06-14 00:07:48 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-06-14 00:07:48 +0000 | 
| commit | 34a9566c8c3b3d90e8161ec6f6f8d682a7a3cfba (patch) | |
| tree | 3debc1e4905a40395c917beab1677a9305869f44 | |
| parent | d50fea52afb775c9e33e0a685096f6fe88b58392 (diff) | |
| download | bcm5719-llvm-34a9566c8c3b3d90e8161ec6f6f8d682a7a3cfba.tar.gz bcm5719-llvm-34a9566c8c3b3d90e8161ec6f6f8d682a7a3cfba.zip  | |
improve localizability by not passing english phrases into 
diagnostics in some cases.
llvm-svn: 73314
| -rw-r--r-- | clang/include/clang/Basic/DiagnosticParseKinds.td | 6 | ||||
| -rw-r--r-- | clang/lib/Parse/ParseDeclCXX.cpp | 9 | ||||
| -rw-r--r-- | clang/lib/Parse/ParseStmt.cpp | 14 | 
3 files changed, 18 insertions, 11 deletions
diff --git a/clang/include/clang/Basic/DiagnosticParseKinds.td b/clang/include/clang/Basic/DiagnosticParseKinds.td index b681b7d2716..e2b9eb7a20b 100644 --- a/clang/include/clang/Basic/DiagnosticParseKinds.td +++ b/clang/include/clang/Basic/DiagnosticParseKinds.td @@ -100,10 +100,16 @@ def err_expected_comma : Error<"expected ','">;  def err_expected_lbrace_in_compound_literal : Error<    "expected '{' in compound literal">;  def err_expected_while : Error<"expected 'while' in do/while loop">; +  def err_expected_semi_after : Error<"expected ';' after %0">; +def err_expected_semi_after_stmt : Error<"expected ';' after %0 statement">;  def err_expected_semi_after_expr : Error<"expected ';' after expression">;  def err_expected_semi_after_method_proto : Error<    "expected ';' after method prototype">; +def err_expected_semi_after_namespace_name : Error< +  "expected ';' after namespace name">; +def err_expected_semi_after_attribute_list : Error< +  "expected ';' after attribute list">;  def err_expected_semi_after_static_assert : Error<    "expected ';' after static_assert">;  def err_expected_semi_for : Error<"expected ';' in 'for' statement specifier">; diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index 1e8b18dc2e1..498eaf19cd6 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -123,8 +123,8 @@ Parser::DeclPtrTy Parser::ParseNamespaceAlias(SourceLocation NamespaceLoc,    // Eat the ';'.    DeclEnd = Tok.getLocation(); -  ExpectAndConsume(tok::semi, diag::err_expected_semi_after, -                   "namespace name", tok::semi); +  ExpectAndConsume(tok::semi, diag::err_expected_semi_after_namespace_name, +                   "", tok::semi);    return Actions.ActOnNamespaceAliasDef(CurScope, NamespaceLoc, AliasLoc, Alias,                                           SS, IdentLoc, Ident); @@ -232,8 +232,9 @@ Parser::DeclPtrTy Parser::ParseUsingDirective(unsigned Context,    // Eat ';'.    DeclEnd = Tok.getLocation(); -  ExpectAndConsume(tok::semi, diag::err_expected_semi_after, -                   AttrList ? "attributes list" : "namespace name", tok::semi); +  ExpectAndConsume(tok::semi, +                   AttrList ? diag::err_expected_semi_after_attribute_list : +                   diag::err_expected_semi_after_namespace_name, "", tok::semi);    return Actions.ActOnUsingDirective(CurScope, UsingLoc, NamespcLoc, SS,                                        IdentLoc, NamespcName, AttrList); diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp index 7766bfada76..8cdcd517cab 100644 --- a/clang/lib/Parse/ParseStmt.cpp +++ b/clang/lib/Parse/ParseStmt.cpp @@ -142,33 +142,33 @@ Parser::ParseStatementOrDeclaration(bool OnlyStatement) {      return ParseWhileStatement();    case tok::kw_do:                  // C99 6.8.5.2: do-statement      Res = ParseDoStatement(); -    SemiError = "do/while loop"; +    SemiError = "do/while";      break;    case tok::kw_for:                 // C99 6.8.5.3: for-statement      return ParseForStatement();    case tok::kw_goto:                // C99 6.8.6.1: goto-statement      Res = ParseGotoStatement(); -    SemiError = "goto statement"; +    SemiError = "goto";      break;    case tok::kw_continue:            // C99 6.8.6.2: continue-statement      Res = ParseContinueStatement(); -    SemiError = "continue statement"; +    SemiError = "continue";      break;    case tok::kw_break:               // C99 6.8.6.3: break-statement      Res = ParseBreakStatement(); -    SemiError = "break statement"; +    SemiError = "break";      break;    case tok::kw_return:              // C99 6.8.6.4: return-statement      Res = ParseReturnStatement(); -    SemiError = "return statement"; +    SemiError = "return";      break;    case tok::kw_asm: {      bool msAsm = false;      Res = ParseAsmStatement(msAsm);      if (msAsm) return move(Res); -    SemiError = "asm statement"; +    SemiError = "asm";      break;    } @@ -180,7 +180,7 @@ Parser::ParseStatementOrDeclaration(bool OnlyStatement) {    if (Tok.is(tok::semi)) {      ConsumeToken();    } else if (!Res.isInvalid()) { -    Diag(Tok, diag::err_expected_semi_after) << SemiError; +    Diag(Tok, diag::err_expected_semi_after_stmt) << SemiError;      // Skip until we see a } or ;, but don't eat it.      SkipUntil(tok::r_brace, true, true);    }  | 

