Lines Matching defs:rtdp

62 static char *soudef(char *cp, stabtype_t type, tdesc_t **rtdp);
63 static void enumdef(char *cp, tdesc_t **rtdp);
72 static char *tdefdecl(char *cp, int h, tdesc_t **rtdp);
73 static char *intrinsic(char *cp, tdesc_t **rtdp);
74 static char *arraydef(char *cp, tdesc_t **rtdp);
346 tdesc_t *rtdp;
358 if ((rtdp = lookup(tid)) != NULL) {
360 if (rtdp->t_name != NULL &&
361 strcmp(rtdp->t_name, idp->ii_name) != 0) {
367 tdp->t_tdesc = rtdp;
370 idp->ii_name, tdesc_name(rtdp), tid);
371 } else if (rtdp->t_name == NULL) {
372 rtdp->t_name = xstrdup(idp->ii_name);
373 addhash(rtdp, tid);
377 rtdp = xcalloc(sizeof (*rtdp));
378 rtdp->t_name = idp->ii_name ? xstrdup(idp->ii_name) : NULL;
379 addhash(rtdp, tid);
384 (void) soudef(cp, STRUCT, &rtdp);
387 (void) soudef(cp, UNION, &rtdp);
390 enumdef(cp, &rtdp);
398 idp->ii_dtype = rtdp;
570 tdefdecl(char *cp, int h, tdesc_t **rtdp)
583 cp = intrinsic(cp, rtdp);
632 *rtdp = calloc(sizeof (**rtdp), 1);
633 (*rtdp)->t_type = TYPEDEF_UNRES;
634 (*rtdp)->t_id = h2;
640 cp = tdefdecl(cp, h2, rtdp);
641 if ((*rtdp)->t_id && (*rtdp)->t_id != h2) {
644 ntdp->t_tdesc = *rtdp;
645 *rtdp = ntdp;
648 addhash(*rtdp, h2);
652 *rtdp = ntdp;
656 *rtdp = ntdp;
669 *rtdp = xcalloc(sizeof (**rtdp));
670 (*rtdp)->t_type = POINTER;
671 (*rtdp)->t_size = 0;
672 (*rtdp)->t_id = h;
673 (*rtdp)->t_tdesc = ntdp;
677 *rtdp = xcalloc(sizeof (**rtdp));
678 (*rtdp)->t_type = FUNCTION;
679 (*rtdp)->t_size = 0;
680 (*rtdp)->t_id = h;
681 (*rtdp)->t_fndef = xcalloc(sizeof (fndef_t));
690 (*rtdp)->t_fndef->fn_ret = lookupname("int");
697 *rtdp = xcalloc(sizeof (**rtdp));
698 (*rtdp)->t_type = ARRAY;
699 (*rtdp)->t_id = h;
700 cp = arraydef(cp, rtdp);
717 *rtdp = ntdp;
726 *rtdp = xcalloc(sizeof (**rtdp));
727 (*rtdp)->t_type = VOLATILE;
728 (*rtdp)->t_size = 0;
729 (*rtdp)->t_tdesc = ntdp;
730 (*rtdp)->t_id = h;
739 *rtdp = xcalloc(sizeof (**rtdp));
740 (*rtdp)->t_type = CONST;
741 (*rtdp)->t_size = 0;
742 (*rtdp)->t_tdesc = ntdp;
743 (*rtdp)->t_id = h;
752 *rtdp = xcalloc(sizeof (**rtdp));
753 (*rtdp)->t_type = RESTRICT;
754 (*rtdp)->t_size = 0;
755 (*rtdp)->t_tdesc = ntdp;
756 (*rtdp)->t_id = h;
763 *rtdp = xcalloc(sizeof (**rtdp));
764 (*rtdp)->t_name = NULL;
765 cp = soudef(cp, (type == 'u') ? UNION : STRUCT, rtdp);
774 intrinsic(char *cp, tdesc_t **rtdp)
828 *rtdp = tdp;
886 soudef(char *cp, stabtype_t type, tdesc_t **rtdp)
895 (*rtdp)->t_size = size;
896 (*rtdp)->t_type = type; /* s or u */
908 parse_debug(3, cp, "soudef: %s size=%d", tdesc_name(*rtdp),
909 (*rtdp)->t_size);
911 prev = &((*rtdp)->t_members);
976 arraydef(char *cp, tdesc_t **rtdp)
984 (*rtdp)->t_ardef = xcalloc(sizeof (ardef_t));
985 (*rtdp)->t_ardef->ad_idxtype = lookup(h);
1019 (*rtdp)->t_ardef->ad_nelems = end - start + 1;
1020 cp = tdefdecl(cp, h, &((*rtdp)->t_ardef->ad_contents));
1029 enumdef(char *cp, tdesc_t **rtdp)
1034 (*rtdp)->t_type = ENUM;
1035 (*rtdp)->t_emem = NULL;
1037 prev = &((*rtdp)->t_emem);
1045 parse_debug(3, NULL, "enum %s: %s=%d", tdesc_name(*rtdp),