/* PR middle-end/110115 */

int a;
signed char b;

static int
foo(signed char *e, int f) {
    int d;
    for (d = 0; d < f; d++)
        e[d] = 0;
    return d;
}

int bar(signed char e, int f) {
    signed char h[20];
    int i = foo(h, f);
    return i;
}

int baz() {
    switch (a) {
    case 'f':
        return 0;
    default:
        return ~0;
    }
}

int main() {
    {
        signed char *k[3];
        int d;
        for (d = 0; bar(8, 15) - 15 + d < 1; d++)
            k[baz() + 1] = &b;
        *k[0] = -*k[0];
    }
}
