Lines Matching refs:tdp

70 static void addhash(tdesc_t *tdp, int num);
71 static int tagadd(char *w, int h, tdesc_t *tdp);
150 tdesc_t *tdp; in unres_new() local
152 tdp = xcalloc(sizeof (*tdp)); in unres_new()
153 tdp->t_type = TYPEDEF_UNRES; in unres_new()
154 tdp->t_id = tid; in unres_new()
156 return (tdp); in unres_new()
162 tdesc_t *tdp; in read_tid() local
170 if (!(cp = tdefdecl(cp + 1, tid, &tdp))) in read_tid()
172 if (tdp->t_id && tdp->t_id != tid) { in read_tid()
176 ntdp->t_tdesc = tdp; in read_tid()
177 tdp = ntdp; in read_tid()
179 addhash(tdp, tid); in read_tid()
180 } else if ((tdp = lookup(tid)) == NULL) in read_tid()
181 tdp = unres_new(tid); in read_tid()
183 *tdpp = tdp; in read_tid()
191 tdesc_t *tdp; in parse_fun() local
218 if (!(cp = read_tid(cp, &tdp))) in parse_fun()
238 ii->ii_dtype = tdp; in parse_fun()
249 tdesc_t *tdp; in parse_sym() local
277 if (!(cp = read_tid(cp, &tdp))) in parse_sym()
281 ii->ii_dtype = tdp; in parse_sym()
289 tdesc_t *tdp, *ntdp; in parse_type() local
296 if ((tdp = lookup(tid)) == NULL) { in parse_type()
300 (void) tdefdecl(cp, tid, &tdp); in parse_type()
302 if (tdp->t_id == tid) { in parse_type()
303 assert(tdp->t_type != TYPEDEF); in parse_type()
304 assert(!lookup(tdp->t_id)); in parse_type()
306 if (!streq(tdp->t_name, ii->ii_name)) { in parse_type()
310 ntdp->t_tdesc = tdp; in parse_type()
311 tdp->t_id = faketypenumber++; in parse_type()
312 tdp = ntdp; in parse_type()
314 } else if (tdp->t_id == 0) { in parse_type()
315 assert(tdp->t_type == FORWARD || in parse_type()
316 tdp->t_type == INTRINSIC); in parse_type()
318 if (tdp->t_name && !streq(tdp->t_name, ii->ii_name)) { in parse_type()
322 ntdp->t_tdesc = tdp; in parse_type()
323 tdp->t_id = faketypenumber++; in parse_type()
324 tdp = ntdp; in parse_type()
326 } else if (tdp->t_id != tid) { in parse_type()
330 ntdp->t_tdesc = tdp; in parse_type()
331 tdp = ntdp; in parse_type()
334 if (tagadd(ii->ii_name, tid, tdp) < 0) in parse_type()
339 ii->ii_dtype = tdp; in parse_type()
362 tdesc_t *tdp; in parse_sou() local
364 tdp = xcalloc(sizeof (*tdp)); in parse_sou()
365 tdp->t_name = xstrdup(idp->ii_name); in parse_sou()
366 tdp->t_type = TYPEDEF; in parse_sou()
367 tdp->t_tdesc = rtdp; in parse_sou()
368 addhash(tdp, tid); /* for *(x,y) types */ in parse_sou()
467 tdesc_t *tdp = hash_table[bucket]; in lookup() local
469 while (tdp != NULL) { in lookup()
470 if (tdp->t_id == h) in lookup()
471 return (tdp); in lookup()
472 tdp = tdp->t_hash; in lookup()
550 tagadd(char *w, int h, tdesc_t *tdp) in tagadd() argument
554 tdp->t_name = w; in tagadd()
556 addhash(tdp, h); in tagadd()
557 else if (otdp != tdp) { in tagadd()
561 warning(" new: %s %d (%d,%d)\n", tdesc_name(tdp), in tagadd()
562 tdp->t_type, TYPEFILE(tdp->t_id), TYPENUM(tdp->t_id)); in tagadd()
777 tdesc_t *tdp; in intrinsic() local
822 tdp = xcalloc(sizeof (*tdp)); in intrinsic()
823 tdp->t_type = INTRINSIC; in intrinsic()
824 tdp->t_size = width; in intrinsic()
825 tdp->t_name = NULL; in intrinsic()
826 tdp->t_intr = intr; in intrinsic()
828 *rtdp = tdp; in intrinsic()
868 find_intrinsic(tdesc_t *tdp) in find_intrinsic() argument
871 switch (tdp->t_type) { in find_intrinsic()
876 tdp = tdp->t_tdesc; in find_intrinsic()
880 return (tdp); in find_intrinsic()
892 tdesc_t *tdp, *itdp; in soudef() local
923 tdp = lookup(h); in soudef()
924 if (tdp == NULL) { /* not in hash list */ in soudef()
927 tdp = unres_new(h); in soudef()
932 cp = tdefdecl(cp, h, &tdp); in soudef()
934 if (tdp->t_id && tdp->t_id != h) { in soudef()
938 ntdp->t_tdesc = tdp; in soudef()
939 tdp = ntdp; in soudef()
942 addhash(tdp, h); in soudef()
949 w ? w : "anon", h, tdesc_name(tdp)); in soudef()
954 itdp = find_intrinsic(tdp); in soudef()
961 mlp->ml_type = tdp; in soudef()
964 mlp->ml_type = tdp; in soudef()
966 mlp->ml_type = tdp; in soudef()
1057 tdesc_t *tdp, *ttdp = NULL; in lookup_name() local
1059 for (tdp = hash[bucket]; tdp != NULL; tdp = tdp->t_next) { in lookup_name()
1060 if (tdp->t_name != NULL && strcmp(tdp->t_name, name) == 0) { in lookup_name()
1061 if (tdp->t_type == STRUCT || tdp->t_type == UNION || in lookup_name()
1062 tdp->t_type == ENUM || tdp->t_type == INTRINSIC) in lookup_name()
1063 return (tdp); in lookup_name()
1064 if (tdp->t_type == TYPEDEF) in lookup_name()
1065 ttdp = tdp; in lookup_name()
1081 addhash(tdesc_t *tdp, int num) in addhash() argument
1094 tdp->t_id = num; in addhash()
1095 tdp->t_hash = hash_table[hash]; in addhash()
1096 hash_table[hash] = tdp; in addhash()
1100 if (tdp->t_name != NULL) { in addhash()
1101 ttdp = lookupname(tdp->t_name); in addhash()
1103 hash = compute_sum(tdp->t_name); in addhash()
1104 tdp->t_next = name_table[hash]; in addhash()
1105 name_table[hash] = tdp; in addhash()
1134 tdesc_t *tdp; in check_hash() local
1140 for (tdp = hash_table[i]->t_hash; in check_hash()
1141 tdp && tdp != hash_table[i]; in check_hash()
1142 tdp = tdp->t_hash) in check_hash()
1144 if (tdp) { in check_hash()
1151 for (tdp = name_table[i]->t_next; in check_hash()
1152 tdp && tdp != name_table[i]; in check_hash()
1153 tdp = tdp->t_next) in check_hash()
1155 if (tdp) { in check_hash()
1168 tdesc_t *tdp = ml->ml_type; in resolve_typed_bitfields_cb() local
1173 while (tdp) { in resolve_typed_bitfields_cb()
1174 switch (tdp->t_type) { in resolve_typed_bitfields_cb()
1176 if (ml->ml_size != tdp->t_intr->intr_nbits) { in resolve_typed_bitfields_cb()
1178 ml->ml_size, tdesc_name(tdp)); in resolve_typed_bitfields_cb()
1179 ml->ml_type = bitintrinsic(tdp, ml->ml_size); in resolve_typed_bitfields_cb()
1182 ml->ml_size, tdesc_name(tdp)); in resolve_typed_bitfields_cb()
1183 ml->ml_type = tdp; in resolve_typed_bitfields_cb()
1192 tdp = tdp->t_tdesc; in resolve_typed_bitfields_cb()