From 2dcaab3de6de20db3a8526bb4fdd5e760ff60cc2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 4 Jan 2009 22:28:21 +0000 Subject: [PATCH] simplify control flow by removing a goto. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61641 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Parse/ParseExpr.cpp | 15 ++++++++------- 1 file 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(); } -- 2.50.1