From 721e62fb1e9788d5f365493b6d6eb4df3fada46e Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Fri, 14 Dec 2007 17:44:25 +0000 Subject: [PATCH] Do not warn about an empty statement after a label, i.e. label:;. [r18750] --- parser.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/parser.c b/parser.c index 3a3fd39..f76817c 100644 --- a/parser.c +++ b/parser.c @@ -5023,7 +5023,14 @@ static statement_t *parse_label_statement(void) errorf(HERE, "label at end of compound statement"); return (statement_t*) label_statement; } else { - label_statement->label_statement = parse_statement(); + if (token.type == ';') { + /* eat an empty statement here, to avoid the warning about an empty + * after a label. label:; is commonly used to have a label before + * a }. */ + next_token(); + } else { + label_statement->label_statement = parse_statement(); + } } return (statement_t*) label_statement; -- 2.20.1