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