From 1bfae74c8fd0345e7676a738f370d5d09bed1efd Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Sun, 14 Sep 2008 11:12:10 +0000 Subject: [PATCH] The result of an array access never is a constant expression. [r21937] --- ast.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ast.c b/ast.c index fac1ca5..da87b55 100644 --- a/ast.c +++ b/ast.c @@ -1747,6 +1747,7 @@ bool is_constant_expression(const expression_t *expression) case EXPR_BINARY_BITWISE_XOR_ASSIGN: case EXPR_BINARY_BITWISE_OR_ASSIGN: case EXPR_BINARY_COMMA: + case EXPR_ARRAY_ACCESS: return false; case EXPR_UNARY_TAKE_ADDRESS: @@ -1809,10 +1810,6 @@ bool is_constant_expression(const expression_t *expression) return is_constant_expression(expression->conditional.false_expression); } - case EXPR_ARRAY_ACCESS: - return is_constant_expression(expression->array_access.array_ref) - && is_constant_expression(expression->array_access.index); - case EXPR_REFERENCE: { declaration_t *declaration = expression->reference.declaration; if(declaration->storage_class == STORAGE_CLASS_ENUM_ENTRY) -- 2.20.1