}
if (defs) {
while (psi_plist_get(defs, i++, &def)) {
- if (def->type->type != type->type
- && !strcmp(def->var->name, type->name)) {
+ if (!strcmp(def->var->name, type->name)) {
type->real.def = def;
return true;
}
while (psi_plist_get(args, i++, &sarg)) {
dprintf(fd, "%s", psi_t_indent(level));
psi_decl_arg_dump(fd, sarg, level);
- if (sarg->layout->bfw) {
- dprintf(fd, ":%zu", sarg->layout->bfw->len);
+ if (sarg->layout) {
+ if (sarg->layout->bfw) {
+ dprintf(fd, ":%zu", sarg->layout->bfw->len);
+ }
+ dprintf(fd, "::(%zu, %zu);\n", sarg->layout->pos,
+ sarg->layout->len);
+ } else {
+ dprintf(fd, ";\n");
}
- dprintf(fd, "::(%zu, %zu);\n", sarg->layout->pos,
- sarg->layout->len);
}
--level;
}
return;
}
break;
+
+ default:
+ break;
}
+
dprintf(fd, "%s", t->name);
}
case PSI_T_ENUM:
default:
align = psi_t_alignment(real->type);
+ break;
}
return align;