From: Christoph Mallon Date: Fri, 7 Dec 2007 17:41:52 +0000 (+0000) Subject: Fix parsing of function-like syntax elements. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=4caf39858baa4239ba4be1987f607159f02b519a;p=cparser Fix parsing of function-like syntax elements. [r18644] --- diff --git a/parser.c b/parser.c index 793b1f5..5f7de31 100644 --- a/parser.c +++ b/parser.c @@ -3186,7 +3186,7 @@ static expression_t *parse_builtin_constant(void) expression_t *expression = allocate_expression_zero(EXPR_BUILTIN_CONSTANT_P); expect('('); - expression->builtin_constant.value = parse_expression(); + expression->builtin_constant.value = parse_assignment_expression(); expect(')'); expression->base.datatype = type_int; @@ -3200,14 +3200,14 @@ static expression_t *parse_builtin_prefetch(void) expression_t *expression = allocate_expression_zero(EXPR_BUILTIN_PREFETCH); expect('('); - expression->builtin_prefetch.adr = parse_expression(); + expression->builtin_prefetch.adr = parse_assignment_expression(); if (token.type == ',') { next_token(); - expression->builtin_prefetch.rw = parse_expression(); + expression->builtin_prefetch.rw = parse_assignment_expression(); } if (token.type == ',') { next_token(); - expression->builtin_prefetch.locality = parse_expression(); + expression->builtin_prefetch.locality = parse_assignment_expression(); } expect(')'); expression->base.datatype = type_void; @@ -3292,7 +3292,7 @@ static expression_t *parse_assume(void) { = allocate_expression_zero(EXPR_UNARY_ASSUME); expect('('); - expression->unary.value = parse_expression(); + expression->unary.value = parse_assignment_expression(); expect(')'); expression->base.datatype = type_void;