projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Do not link on every make invocation
[cparser]
/
walk.c
diff --git
a/walk.c
b/walk.c
index
e213f2b
..
7183d38
100644
(file)
--- a/
walk.c
+++ b/
walk.c
@@
-82,8
+82,6
@@
static void walk_type(type_t *const type, const walk_env_t *const env)
case TYPE_ENUM:
walk_entity((entity_t*)type->enumt.enume, env);
return;
case TYPE_ENUM:
walk_entity((entity_t*)type->enumt.enume, env);
return;
- case TYPE_INVALID:
- break;
}
panic("invalid type found");
}
}
panic("invalid type found");
}
@@
-185,9
+183,8
@@
static void walk_expression(expression_t *const expr,
case EXPR_WIDE_STRING_LITERAL:
case EXPR_FUNCNAME:
case EXPR_LABEL_ADDRESS:
case EXPR_WIDE_STRING_LITERAL:
case EXPR_FUNCNAME:
case EXPR_LABEL_ADDRESS:
+ case EXPR_ERROR:
return;
return;
- case EXPR_INVALID:
- break;
}
panic("invalid expr kind");
}
}
panic("invalid expr kind");
}
@@
-196,7
+193,8
@@
static void walk_designator(const designator_t *designator,
const walk_env_t *const env)
{
for ( ; designator != NULL; designator = designator->next) {
const walk_env_t *const env)
{
for ( ; designator != NULL; designator = designator->next) {
- walk_expression(designator->array_index, env);
+ if (designator->array_index != NULL)
+ walk_expression(designator->array_index, env);
}
}
}
}
@@
-237,7
+235,8
@@
static void walk_entity(entity_t *entity, const walk_env_t *const env)
return;
}
case ENTITY_ENUM_VALUE:
return;
}
case ENTITY_ENUM_VALUE:
- walk_expression(entity->enum_value.value, env);
+ if (entity->enum_value.value != NULL)
+ walk_expression(entity->enum_value.value, env);
return;
case ENTITY_TYPEDEF:
walk_type(entity->typedefe.type, env);
return;
case ENTITY_TYPEDEF:
walk_type(entity->typedefe.type, env);
@@
-269,8
+268,6
@@
static void walk_entity(entity_t *entity, const walk_env_t *const env)
case ENTITY_LABEL:
case ENTITY_LOCAL_LABEL:
return;
case ENTITY_LABEL:
case ENTITY_LOCAL_LABEL:
return;
- case ENTITY_INVALID:
- break;
}
panic("invalid entity found");
}
}
panic("invalid entity found");
}
@@
-362,7
+359,7
@@
static void walk_statement(statement_t *const stmt, const walk_env_t *const env)
walk_statement(stmt->ms_try.final_statement, env);
return;
walk_statement(stmt->ms_try.final_statement, env);
return;
- case STATEMENT_
INVALID
:
+ case STATEMENT_
ERROR
:
case STATEMENT_EMPTY:
case STATEMENT_CONTINUE:
case STATEMENT_BREAK:
case STATEMENT_EMPTY:
case STATEMENT_CONTINUE:
case STATEMENT_BREAK: