parseerror(parser, "expected typename for field definition");
return NULL;
}
+
+ /* Further dots are handled seperately because they won't be part of the
+ * basetype
+ */
+ while (parser->tok == '.') {
+ ++morefields;
+ if (!parser_next(parser)) {
+ parseerror(parser, "expected typename for field definition");
+ return NULL;
+ }
+ }
+
if (parser->tok == TOKEN_IDENT)
cached_typedef = parser_find_typedef(parser, parser_tokval(parser), 0);
if (!cached_typedef && parser->tok != TOKEN_TYPENAME) {
}
}
- /* Further dots are handled seperately because they won't be part of the
- * basetype
- */
- while (parser->tok == '.') {
- ++morefields;
- if (!parser_next(parser)) {
- parseerror(parser, "expected typename for field definition");
- return NULL;
- }
- }
-
/* generate the basic type value */
if (cached_typedef) {
var = ast_value_copy(cached_typedef);