From: Matthias Braun Date: Fri, 16 Nov 2007 20:45:03 +0000 (+0000) Subject: set address_taken flag X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=eb232af6c629af00a9b29b3a05ac2acc55393cb4;p=cparser set address_taken flag [r18418] --- diff --git a/parser.c b/parser.c index ed248f4..c024ade 100644 --- a/parser.c +++ b/parser.c @@ -2771,6 +2771,15 @@ static void semantic_take_addr(unary_expression_t *expression) if(orig_type == NULL) return; + expression_t *value = expression->value; + if(value->type == EXPR_REFERENCE) { + reference_expression_t *reference = (reference_expression_t*) value; + declaration_t *declaration = reference->declaration; + if(declaration != NULL) { + declaration->address_taken = 1; + } + } + expression->expression.datatype = make_pointer_type(orig_type, 0); }