}
}
+static initializer_t *create_empty_initializer(void)
+{
+ static initializer_t empty_initializer
+ = { .list = { { INITIALIZER_LIST }, 0 } };
+ return &empty_initializer;
+}
+
/**
* Parse a part of an initialiser for a struct or union,
*/
{
if(token.type == '}') {
/* empty initializer */
- return NULL;
+ return create_empty_initializer();
}
type_t *orig_type = path->top_type;
* initializers in this case. */
if(!is_type_valid(type)) {
skip_initializers();
- return NULL;
+ return create_empty_initializer();
}
}
static FILE *out;
struct obstack *type_obst = &_type_obst;
static int type_visited = 0;
-static bool print_implicit_array_size = true;
+static bool print_implicit_array_size = false;
static void intern_print_type_pre(const type_t *type, bool top);
static void intern_print_type_post(const type_t *type, bool top);