diff options
author | Alp Toker <alp@nuanti.com> | 2014-01-01 03:08:43 +0000 |
---|---|---|
committer | Alp Toker <alp@nuanti.com> | 2014-01-01 03:08:43 +0000 |
commit | ca70f4fa1c4eae6a47c97c773b8e63803a43a90c (patch) | |
tree | e361f7a66b24b68f25f623c13b24ff90e0ac56f1 /include/clang/Basic/DiagnosticParseKinds.td | |
parent | f1c0e483721aca10816403cc91f03ed5db876a98 (diff) | |
download | clang-ca70f4fa1c4eae6a47c97c773b8e63803a43a90c.tar.gz clang-ca70f4fa1c4eae6a47c97c773b8e63803a43a90c.tar.bz2 clang-ca70f4fa1c4eae6a47c97c773b8e63803a43a90c.tar.xz |
ExpectAndConsume: Diagnose errors automatically
1) Teach ExpectAndConsume() to emit expected and expected-after diagnostics
using the generic diagnostic descriptions added in r197972, eliminating another
set of trivial err_expected_* variations while maintaining existing behaviour.
2) Lift SkipUntil() recovery out of ExpectAndConsume(). The Expect/Consume
family of functions are primitive parser operations that now have the
well-defined property of operating on single tokens. Factoring out recovery
exposes opportunities for more consistent and tailored error recover at the
call sites instead of just relying on a bottled SkipUntil formula.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198270 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticParseKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticParseKinds.td | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td index 15804e99d9..f5f21391e9 100644 --- a/include/clang/Basic/DiagnosticParseKinds.td +++ b/include/clang/Basic/DiagnosticParseKinds.td @@ -149,10 +149,6 @@ def err_expected_expression : Error<"expected expression">; def err_expected_type : Error<"expected a type">; def err_expected_external_declaration : Error<"expected external declaration">; def err_extraneous_closing_brace : Error<"extraneous closing brace ('}')">; -def err_expected_lparen : Error<"expected '('">; -def err_expected_rparen : Error<"expected ')'">; -def err_expected_rsquare : Error<"expected ']'">; -def err_expected_greater : Error<"expected '>'">; def err_expected_semi_declaration : Error< "expected ';' at end of declaration">; def err_expected_semi_decl_list : Error< @@ -182,12 +178,10 @@ def err_invalid_token_after_declarator_suggest_equal : Error< def err_expected_statement : Error<"expected statement">; def err_expected_lparen_after : Error<"expected '(' after '%0'">; def err_expected_less_after : Error<"expected '<' after '%0'">; -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_extraneous_token_before_semi : Error<"extraneous '%0' before ';'">; @@ -628,8 +622,6 @@ def err_expected_qualified_after_typename : Error< "expected a qualified name after 'typename'">; def warn_expected_qualified_after_typename : ExtWarn< "expected a qualified name after 'typename'">; -def err_expected_semi_after_tagdecl : Error< - "expected ';' after %0">; def err_typename_refers_to_non_type_template : Error< "typename specifier refers to a non-type template">; |