- do not print {} for incomplete types
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 16 Sep 2008 02:07:18 +0000 (02:07 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 16 Sep 2008 02:07:18 +0000 (02:07 +0000)
[r21985]

ast.c

diff --git a/ast.c b/ast.c
index c3b0c6b..545f513 100644 (file)
--- a/ast.c
+++ b/ast.c
@@ -1478,22 +1478,28 @@ void print_declaration(const declaration_t *declaration)
        case NAMESPACE_STRUCT:
                fputs("struct ", out);
                fputs(declaration->symbol->string, out);
-               fputc(' ', out);
-               print_compound_definition(declaration);
+               if (declaration->init.complete) {
+                       fputc(' ', out);
+                       print_compound_definition(declaration);
+               }
                fputc(';', out);
                break;
        case NAMESPACE_UNION:
                fputs("union ", out);
                fputs(declaration->symbol->string, out);
-               fputc(' ', out);
-               print_compound_definition(declaration);
+               if (declaration->init.complete) {
+                       fputc(' ', out);
+                       print_compound_definition(declaration);
+               }
                fputc(';', out);
                break;
        case NAMESPACE_ENUM:
                fputs("enum ", out);
                fputs(declaration->symbol->string, out);
-               fputc(' ', out);
-               print_enum_definition(declaration);
+               if (declaration->init.complete) {
+                       fputc(' ', out);
+                       print_enum_definition(declaration);
+               }
                fputc(';', out);
                break;
        }