Lines Matching defs:tdp
74 static void addhash(tdesc_t *tdp, int num);
75 static int tagadd(char *w, int h, tdesc_t *tdp);
153 tdesc_t *tdp;
155 tdp = xcalloc(sizeof (*tdp));
156 tdp->t_type = TYPEDEF_UNRES;
157 tdp->t_id = tid;
159 return (tdp);
165 tdesc_t *tdp;
173 if (!(cp = tdefdecl(cp + 1, tid, &tdp)))
175 if (tdp->t_id && tdp->t_id != tid) {
179 ntdp->t_tdesc = tdp;
180 tdp = ntdp;
182 addhash(tdp, tid);
183 } else if ((tdp = lookup(tid)) == NULL)
184 tdp = unres_new(tid);
186 *tdpp = tdp;
194 tdesc_t *tdp;
221 if (!(cp = read_tid(cp, &tdp)))
241 ii->ii_dtype = tdp;
252 tdesc_t *tdp;
280 if (!(cp = read_tid(cp, &tdp)))
284 ii->ii_dtype = tdp;
292 tdesc_t *tdp, *ntdp;
299 if ((tdp = lookup(tid)) == NULL) {
303 (void) tdefdecl(cp, tid, &tdp);
305 if (tdp->t_id == tid) {
306 assert(tdp->t_type != TYPEDEF);
307 assert(!lookup(tdp->t_id));
309 if (!streq(tdp->t_name, ii->ii_name)) {
313 ntdp->t_tdesc = tdp;
314 tdp->t_id = faketypenumber++;
315 tdp = ntdp;
317 } else if (tdp->t_id == 0) {
318 assert(tdp->t_type == FORWARD ||
319 tdp->t_type == INTRINSIC);
321 if (tdp->t_name && !streq(tdp->t_name, ii->ii_name)) {
325 ntdp->t_tdesc = tdp;
326 tdp->t_id = faketypenumber++;
327 tdp = ntdp;
329 } else if (tdp->t_id != tid) {
333 ntdp->t_tdesc = tdp;
334 tdp = ntdp;
337 if (tagadd(ii->ii_name, tid, tdp) < 0)
342 ii->ii_dtype = tdp;
365 tdesc_t *tdp;
367 tdp = xcalloc(sizeof (*tdp));
368 tdp->t_name = xstrdup(idp->ii_name);
369 tdp->t_type = TYPEDEF;
370 tdp->t_tdesc = rtdp;
371 addhash(tdp, tid); /* for *(x,y) types */
470 tdesc_t *tdp = hash_table[bucket];
472 while (tdp != NULL) {
473 if (tdp->t_id == h)
474 return (tdp);
475 tdp = tdp->t_hash;
553 tagadd(char *w, int h, tdesc_t *tdp)
557 tdp->t_name = w;
559 addhash(tdp, h);
560 else if (otdp != tdp) {
564 warning(" new: %s %d (%d,%d)\n", tdesc_name(tdp),
565 tdp->t_type, TYPEFILE(tdp->t_id), TYPENUM(tdp->t_id));
780 tdesc_t *tdp;
825 tdp = xcalloc(sizeof (*tdp));
826 tdp->t_type = INTRINSIC;
827 tdp->t_size = width;
828 tdp->t_name = NULL;
829 tdp->t_intr = intr;
831 *rtdp = tdp;
871 find_intrinsic(tdesc_t *tdp)
874 switch (tdp->t_type) {
879 tdp = tdp->t_tdesc;
883 return (tdp);
895 tdesc_t *tdp, *itdp;
926 tdp = lookup(h);
927 if (tdp == NULL) { /* not in hash list */
930 tdp = unres_new(h);
935 cp = tdefdecl(cp, h, &tdp);
937 if (tdp->t_id && tdp->t_id != h) {
941 ntdp->t_tdesc = tdp;
942 tdp = ntdp;
945 addhash(tdp, h);
952 w ? w : "anon", h, tdesc_name(tdp));
957 itdp = find_intrinsic(tdp);
964 mlp->ml_type = tdp;
967 mlp->ml_type = tdp;
969 mlp->ml_type = tdp;
1060 tdesc_t *tdp, *ttdp = NULL;
1062 for (tdp = hash[bucket]; tdp != NULL; tdp = tdp->t_next) {
1063 if (tdp->t_name != NULL && strcmp(tdp->t_name, name1) == 0) {
1064 if (tdp->t_type == STRUCT || tdp->t_type == UNION ||
1065 tdp->t_type == ENUM || tdp->t_type == INTRINSIC)
1066 return (tdp);
1067 if (tdp->t_type == TYPEDEF)
1068 ttdp = tdp;
1084 addhash(tdesc_t *tdp, int num)
1097 tdp->t_id = num;
1098 tdp->t_hash = hash_table[hash];
1099 hash_table[hash] = tdp;
1103 if (tdp->t_name != NULL) {
1104 ttdp = lookupname(tdp->t_name);
1106 hash = compute_sum(tdp->t_name);
1107 tdp->t_next = name_table[hash];
1108 name_table[hash] = tdp;
1137 tdesc_t *tdp;
1143 for (tdp = hash_table[i]->t_hash;
1144 tdp && tdp != hash_table[i];
1145 tdp = tdp->t_hash)
1147 if (tdp) {
1154 for (tdp = name_table[i]->t_next;
1155 tdp && tdp != name_table[i];
1156 tdp = tdp->t_next)
1158 if (tdp) {
1172 tdesc_t *tdp = ml->ml_type;
1177 while (tdp) {
1178 switch (tdp->t_type) {
1180 if (ml->ml_size != tdp->t_intr->intr_nbits) {
1182 ml->ml_size, tdesc_name(tdp));
1183 ml->ml_type = bitintrinsic(tdp, ml->ml_size);
1186 ml->ml_size, tdesc_name(tdp));
1187 ml->ml_type = tdp;
1196 tdp = tdp->t_tdesc;