From 266efcd35daeba35f15fee934d4e2accc452b80c Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Thu, 12 Jun 2008 05:40:22 +0000 Subject: [PATCH] Probably nicer error handling of expression-statement --- src/parser.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/parser.c b/src/parser.c index ef841b1..9109333 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1551,15 +1551,15 @@ static int _expression_statement(C99 * c99) /* [ expression ] ";" * identifier ":" */ { - int ret = 0; + int ret; DEBUG_GRAMMAR(); - if(_parse_in_set(c99, c99set_expression)) - { - c99->can_label = 1; - c99->is_label = 0; - ret = _expression(c99); - } + if(_parse_is_code(c99, C99_CODE_OPERATOR_SEMICOLON)) + return scan(c99); + c99->can_label = 1; + c99->is_label = 0; + ret = _parse_check_set(c99, c99set_expression, "expression", + _expression); if(c99->is_label) { ret |= code_context_set(c99->code, CODE_CONTEXT_LABEL);