- fprintf(h->f, "\t.stabs\t\"%s:p%u\",%d,0,0,%d\n", name, type_num, N_PSYM, ofs);
+ fprintf(h->f, "\t.stabs\t\"%s:p", name);
+ if (is_Array_type(ptp)) {
+ /* use a local array definition */
+ print_array_type(h, ptp, 1);
+ } else if (is_Pointer_type(ptp)) {
+ /* use local pointer definition */
+ print_pointer_type(h, ptp, 1);
+ } else {
+ type_num = get_type_number(h, ptp);
+
+ /* name:type, bit offset from the start of the struct', number of bits in the element. */
+ fprintf(h->f, "%u", type_num);
+ }
+
+ fprintf(h->f, "\",%d,0,0,%d\n", N_PSYM, ofs);