From 1d8a08d18699ff8c1711e48923c18caa4b11ee7c Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Fri, 14 Mar 2008 16:43:53 +0000 Subject: [PATCH] avoid endless recursion when printing anonymous enums with init expressions [r18948] --- type.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/type.c b/type.c index 89e7b75..9941eb1 100644 --- a/type.c +++ b/type.c @@ -250,7 +250,13 @@ void print_enum_definition(const declaration_t *declaration) fprintf(out, "%s", entry->symbol->string); if(entry->init.initializer != NULL) { fprintf(out, " = "); - print_expression(entry->init.enum_value); + + /* skip the implicit cast */ + expression_t *expression = entry->init.enum_value; + if(expression->kind == EXPR_UNARY_CAST_IMPLICIT) { + expression = expression->unary.value; + } + print_expression(expression); } fprintf(out, ",\n"); } -- 2.20.1