Add missing skip_typeref().
authorChristoph Mallon <christoph.mallon@gmx.de>
Tue, 11 Dec 2007 21:52:00 +0000 (21:52 +0000)
committerChristoph Mallon <christoph.mallon@gmx.de>
Tue, 11 Dec 2007 21:52:00 +0000 (21:52 +0000)
[r18684]

parser.c

index 303bef6..78591cf 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -4915,7 +4915,7 @@ static statement_t *parse_switch(void)
 
        expect('(');
        expression_t *const expr = parse_expression();
-       type_t       *const type = promote_integer(expr->base.datatype);
+       type_t       *const type = promote_integer(skip_typeref(expr->base.datatype));
        statement->expression = create_implicit_cast(expr, type);
        expect(')');
        statement->body = parse_statement();