root/tests/usr.bin/indent/label.c
/*      $NetBSD: label.c,v 1.9 2023/06/04 18:58:30 rillig Exp $ */

/* See FreeBSD r303489 */

//indent input
void t(void) {
        switch (1)
        {
                case 1: /* test */
                case 2:         /* test */
                case 3: /* test */
                case 4: /* test */
        }
CLEANUP:
        ;
V: ;
U: ;
}
//indent end

//indent run
void
t(void)
{
        switch (1) {
        case 1:                 /* test */
        case 2:                 /* test */
        case 3:                 /* test */
        case 4:                 /* test */
        }
CLEANUP:
        ;
V:      ;
U:      ;
}
//indent end


//indent input
void
label_width(void)
{
L:;
L2:;
L_3:;
L__4:;
L___5:;
L____6:;
L_____7:;
L______8:;
}
//indent end

//indent run
void
label_width(void)
{
L:      ;
L2:     ;
L_3:    ;
L__4:   ;
L___5:  ;
L____6: ;
L_____7: ;
L______8: ;
}
//indent end


/*
 * The indentation of statement labels is fixed to -2, it is not configurable.
 */
//indent input
void
label_indentation(void)
{
        if (level1) {
        if (level2) {
        if (level3) {
        if (level4) {
        if (level5) {
        label5:
        statement();
        }
        label4:
        statement();
        }
        label3:
        statement();
        }
        label2:
        statement();
        }
        label1:
        statement();
        }
        label0:
        statement();
}
//indent end

//indent run
void
label_indentation(void)
{
        if (level1) {
                if (level2) {
                        if (level3) {
                                if (level4) {
                                        if (level5) {
                                label5:
                                                statement();
                                        }
                        label4:
                                        statement();
                                }
                label3:
                                statement();
                        }
        label2:
                        statement();
                }
label1:
                statement();
        }
label0:
        statement();
}
//indent end