Lines Matching refs:bl

434 	brace_level *bl = xcalloc(1, sizeof(*bl));
435 bl->bl_type = tp;
436 bl->bl_enclosing = enclosing;
438 return bl;
442 brace_level_free(brace_level *bl)
445 free(bl->bl_designation.dn_items);
446 free(bl);
451 brace_level_debug(const brace_level *bl)
454 lint_assert(bl->bl_type != NULL);
456 debug_printf("type '%s'\n", type_name(bl->bl_type));
458 designation_debug(&bl->bl_designation);
467 brace_level_sub_type(const brace_level *bl)
470 return designation_type(&bl->bl_designation, bl->bl_type);
481 brace_level_advance(brace_level *bl, size_t *max_subscript)
485 designation *dn = &bl->bl_designation;
486 const type_t *tp = designation_parent_type(dn, bl->bl_type);
488 if (bl->bl_designation.dn_len == 0)
489 (void)designation_descend(dn, bl->bl_type);
538 brace_level_pop_done(brace_level *bl, size_t *max_subscript)
540 designation *dn = &bl->bl_designation;
542 const type_t *sub_type = designation_parent_type(dn, bl->bl_type);
551 brace_level_advance(bl, max_subscript);
557 brace_level_pop_final(brace_level *bl, size_t *max_subscript)
559 designation *dn = &bl->bl_designation;
566 brace_level_advance(bl, max_subscript);
572 brace_level_goto(brace_level *bl, const tnode_t *rn, size_t *max_subscript)
575 designation *dn = &bl->bl_designation;
576 if (dn->dn_len == 0 && can_init_character_array(bl->bl_type, rn))
578 if (dn->dn_len == 0 && !designation_descend(dn, bl->bl_type))
582 if (!brace_level_pop_done(bl, max_subscript))
585 const type_t *ltp = brace_level_sub_type(bl);
615 brace_level *bl, *next;
617 for (bl = in->in_brace_level; bl != NULL; bl = next) {
618 next = bl->bl_enclosing;
619 brace_level_free(bl);
637 const brace_level *bl;
639 for (bl = in->in_brace_level; bl != NULL; bl = bl->bl_enclosing) {
641 brace_level_debug(bl);
758 brace_level *bl = in->in_brace_level;
759 lint_assert(bl != NULL);
761 const type_t *tp = brace_level_sub_type(bl);
782 designation_push(&bl->bl_designation, DK_MEMBER, member, 0);
792 brace_level *bl = in->in_brace_level;
793 lint_assert(bl != NULL);
795 const type_t *tp = brace_level_sub_type(bl);
812 designation_push(&bl->bl_designation, DK_SUBSCRIPT, NULL, subscript);
865 brace_level *bl = in->in_brace_level;
866 if (bl != NULL && bl->bl_designation.dn_len == 0)
867 (void)designation_descend(&bl->bl_designation, bl->bl_type);
868 if (bl != NULL)
869 brace_level_advance(bl, &in->in_max_subscript);
890 brace_level *bl = in->in_brace_level;
891 if (bl != NULL && !brace_level_goto(bl, tn, &in->in_max_subscript)) {
908 if (bl == NULL && !is_scalar(tp->t_tspec)) {
917 if (bl != NULL)
918 brace_level_advance(bl, &in->in_max_subscript);