#include <stdio.h>

/*-
 * This is a cc optimiser bug for ultrix 4.3, mips CPU.
 * What happens is that the compiler, due to the (a)&7,
 * does
 * i=a&7;
 * i--;
 * i*=4;
 * Then uses i as the offset into a jump table.
 * The problem is that a value of 0 generates an offset of
 * 0xfffffffc.
 */

main()
{
    f(5);
    f(0);
}

int f(a)
int a;
{
    switch (a & 7) {
    case 7:
        printf("7\n");
    case 6:
        printf("6\n");
    case 5:
        printf("5\n");
    case 4:
        printf("4\n");
    case 3:
        printf("3\n");
    case 2:
        printf("2\n");
    case 1:
        printf("1\n");
#ifdef FIX_BUG
    case 0:
        ;
#endif
    }
}
