+void psi_decl_type_dump_args_with_layout(int fd, struct psi_plist *args,
+ unsigned level)
+{
+ size_t i = 0;
+
+ dprintf(fd, " {\n");
+ if (args) {
+ struct psi_decl_arg *sarg;
+
+ ++level;
+ while (psi_plist_get(args, i++, &sarg)) {
+ dprintf(fd, "%s", psi_t_indent(level));
+ psi_decl_arg_dump(fd, sarg, level);
+ dprintf(fd, "::(%zu, %zu);\n", sarg->layout->pos,
+ sarg->layout->len);
+ }
+ --level;
+ }
+ dprintf(fd, "%s", psi_t_indent(level));
+ dprintf(fd, "}");
+}
+
+void psi_decl_type_dump(int fd, struct psi_decl_type *t, unsigned level)
+{