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