while (psi_plist_get(defs, i++, &def)) {
if (def->type->type != type->type
&& !strcmp(def->var->name, type->name)) {
while (psi_plist_get(defs, i++, &def)) {
if (def->type->type != type->type
&& !strcmp(def->var->name, type->name)) {
for (stdtyp = &psi_std_types[0]; stdtyp->type_tag; ++stdtyp) {
if (!strcmp(type->name, stdtyp->alias ?: stdtyp->type_name)) {
type->type = stdtyp->type_tag;
for (stdtyp = &psi_std_types[0]; stdtyp->type_tag; ++stdtyp) {
if (!strcmp(type->name, stdtyp->alias ?: stdtyp->type_name)) {
type->type = stdtyp->type_tag;
{
if (psi_decl_type_is_weak(type)) {
if (!psi_decl_type_get_alias(type, data->types)) {
{
if (psi_decl_type_is_weak(type)) {
if (!psi_decl_type_get_alias(type, data->types)) {
if (!psi_decl_type_get_struct(type, data->structs)) {
if (psi_validate_stack_has_struct(type_stack, type->name)) {
type->real.strct = psi_validate_stack_get_struct(type_stack, type->name);
if (!psi_decl_type_get_struct(type, data->structs)) {
if (psi_validate_stack_has_struct(type_stack, type->name)) {
type->real.strct = psi_validate_stack_get_struct(type_stack, type->name);
} else {
data->error(data, type->token, PSI_WARNING,
"Unknown struct '%s'", type->name);
} else {
data->error(data, type->token, PSI_WARNING,
"Unknown struct '%s'", type->name);
if (!psi_decl_type_get_union(type, data->unions)) {
if (psi_validate_stack_has_union(type_stack, type->name)) {
type->real.unn = psi_validate_stack_get_union(type_stack, type->name);
if (!psi_decl_type_get_union(type, data->unions)) {
if (psi_validate_stack_has_union(type_stack, type->name)) {
type->real.unn = psi_validate_stack_get_union(type_stack, type->name);
} else {
data->error(data, type->token, PSI_WARNING,
"Unknown union '%s'", type->name);
} else {
data->error(data, type->token, PSI_WARNING,
"Unknown union '%s'", type->name);