diff options
author | Chris Lattner <sabre@nondot.org> | 2009-01-04 22:28:21 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-01-04 22:28:21 +0000 |
commit | 2dcaab3de6de20db3a8526bb4fdd5e760ff60cc2 (patch) | |
tree | 9ffb3fabcd6dcb5430ec0fbe68f5166543b986b3 | |
parent | 59232d35f5820e334b6c8b007ae8006f4390055d (diff) |
simplify control flow by removing a goto.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61641 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Parse/ParseExpr.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp index f719b8914f..f05119d797 100644 --- a/lib/Parse/ParseExpr.cpp +++ b/lib/Parse/ParseExpr.cpp @@ -602,11 +602,13 @@ Parser::OwningExprResult Parser::ParseCastExpression(bool isUnaryExpression) { case tok::kw_float: case tok::kw_double: case tok::kw_void: - case tok::kw_typeof: { - if (!getLang().CPlusPlus) - goto UnhandledToken; - case tok::annot_qualtypename: - assert(getLang().CPlusPlus && "Expected C++"); + case tok::kw_typeof: + case tok::annot_qualtypename: { + if (!getLang().CPlusPlus) { + Diag(Tok, diag::err_expected_expression); + return ExprError(); + } + // postfix-expression: simple-type-specifier '(' expression-list[opt] ')' // DeclSpec DS; @@ -657,9 +659,8 @@ Parser::OwningExprResult Parser::ParseCastExpression(bool isUnaryExpression) { // These can be followed by postfix-expr pieces. if (getLang().ObjC1) return ParsePostfixExpressionSuffix(ParseObjCMessageExpression()); - // FALL THROUGH. + // FALL THROUGH. default: - UnhandledToken: Diag(Tok, diag::err_expected_expression); return ExprError(); } |