Lines Matching defs:dr
281 designator_type(const designator *dr, const type_t *tp)
287 if (dr->dr_kind != DK_MEMBER) {
294 lint_assert(dr->dr_member != NULL);
295 return dr->dr_member->s_type;
297 if (dr->dr_kind != DK_SUBSCRIPT) {
304 dr->dr_subscript < (size_t)tp->u.dimension);
307 if (dr->dr_kind != DK_SCALAR)
317 designator_debug(const designator *dr)
320 if (dr->dr_kind == DK_MEMBER) {
321 lint_assert(dr->dr_subscript == 0);
323 dr->dr_member != NULL
324 ? dr->dr_member->s_name
326 } else if (dr->dr_kind == DK_SUBSCRIPT) {
327 lint_assert(dr->dr_member == NULL);
328 debug_printf("[%zu]", dr->dr_subscript);
330 lint_assert(dr->dr_member == NULL);
331 lint_assert(dr->dr_subscript == 0);
335 if (dr->dr_done)
376 designator *dr = &dn->dn_items[dn->dn_len++];
377 dr->dr_kind = kind;
378 dr->dr_member = member;
379 dr->dr_subscript = subscript;
380 dr->dr_done = false;
491 designator *dr = designation_last(dn);
494 lint_assert(dr->dr_member != NULL);
495 dr->dr_member = skip_unnamed(dr->dr_member->s_next);
496 if (dr->dr_member == NULL)
497 dr->dr_done = true;
500 dr->dr_member = NULL;
501 dr->dr_done = true;
504 dr->dr_subscript++;
506 dr->dr_subscript > *max_subscript)
507 *max_subscript = dr->dr_subscript;
509 dr->dr_subscript >= (size_t)tp->u.dimension)
510 dr->dr_done = true;
513 dr->dr_done = true;