static void declaration_statement_to_firm(declaration_statement_t *statement)
{
- entity_t * entity = statement->declarations_begin;
- entity_t *const last = statement->declarations_end;
- if (entity != NULL) {
- for ( ;; entity = entity->base.next) {
- if (is_declaration(entity)) {
- initialize_local_declaration(entity);
- } else if (entity->kind == ENTITY_TYPEDEF) {
- type_t *const type = skip_typeref(entity->typedefe.type);
- if (is_type_array(type) && type->array.is_vla)
- get_vla_size(&type->array);
- }
- if (entity == last)
- break;
+ entity_t *entity = statement->declarations_begin;
+ if (entity == NULL)
+ return;
+
+ entity_t *const last = statement->declarations_end;
+ for ( ;; entity = entity->base.next) {
+ if (is_declaration(entity)) {
+ initialize_local_declaration(entity);
+ } else if (entity->kind == ENTITY_TYPEDEF) {
+ type_t *const type = skip_typeref(entity->typedefe.type);
+ if (is_type_array(type) && type->array.is_vla)
+ get_vla_size(&type->array);
}
+ if (entity == last)
+ break;
}
}
const entity_t *const last)
{
int count = 0;
- for (; entity != NULL; entity = entity->base.next) {
+ entity_t const *const end = last != NULL ? last->base.next : NULL;
+ for (; entity != end; entity = entity->base.next) {
type_t *type;
bool address_taken;
if (!address_taken && is_type_scalar(type))
++count;
-
- if (entity == last)
- break;
}
return count;
}
statement_callback const callback,
void *const env)
{
- for (; entity != NULL; entity = entity->base.next) {
+ entity_t const *const end = last != NULL ? last->base.next : NULL;
+ for (; entity != end; entity = entity->base.next) {
/* we only look at variables */
if (entity->kind != ENTITY_VARIABLE)
continue;
if (initializer != NULL) {
walk_initializer(initializer, callback, env);
}
-
- if (entity == last)
- break;
}
}