}
}
if(iter == NULL) {
- errorf(HERE, "'%T' has no member names '%Y'", type_left, symbol);
+ errorf(HERE, "'%T' has no member named '%Y'", orig_type, symbol);
return create_invalid_expression();
}
const declaration_t *declaration = context->declarations;
for (; declaration != NULL; declaration = declaration->next) {
+ if (declaration->namespc != NAMESPACE_NORMAL)
+ continue;
+
const type_t *decl_type = skip_typeref(declaration->type);
if (decl_type->base.qualifiers & TYPE_QUALIFIER_CONST)
return true;
initialize_builtin_types();
while(token.type != T_EOF) {
- parse_external_declaration();
+ if (token.type == ';') {
+ /* TODO error in strict mode */
+ warningf(HERE, "stray ';' outside of function");
+ next_token();
+ } else {
+ parse_external_declaration();
+ }
}
assert(context == &unit->context);