do not warn for missing declarations if type is invalid
[cparser] / walk.c
diff --git a/walk.c b/walk.c
index 9942903..ec0ed04 100644 (file)
--- a/walk.c
+++ b/walk.c
@@ -83,7 +83,7 @@ static void walk_type(type_t *const type, const walk_env_t *const env)
                walk_entity((entity_t*)type->enumt.enume, env);
                return;
        }
-       panic("invalid type found");
+       panic("invalid type");
 }
 
 static void walk_expression(expression_t *const expr,
@@ -201,7 +201,7 @@ static void walk_designator(const designator_t *designator,
 static void walk_initializer(const initializer_t  *initializer,
                              const walk_env_t *const env)
 {
-       switch(initializer->kind) {
+       switch (initializer->kind) {
        case INITIALIZER_VALUE:
                walk_expression(initializer->value.value, env);
                return;
@@ -243,8 +243,8 @@ static void walk_entity(entity_t *entity, const walk_env_t *const env)
                return;
        case ENTITY_FUNCTION:
                walk_type(entity->declaration.type, env);
-               if (entity->function.statement != NULL)
-                       walk_statement(entity->function.statement, env);
+               if (entity->function.body != NULL)
+                       walk_statement(entity->function.body, env);
                return;
        case ENTITY_COMPOUND_MEMBER:
        case ENTITY_PARAMETER:
@@ -269,7 +269,7 @@ static void walk_entity(entity_t *entity, const walk_env_t *const env)
        case ENTITY_LOCAL_LABEL:
                return;
        }
-       panic("invalid entity found");
+       panic("invalid entity");
 }
 
 static void walk_declarations(entity_t*            entity,