struct s {
    int t : 1;
    int t1 : 1;
};

int f(struct s t) __attribute__((noinline));
int f(struct s t) {
    int c = t.t;
    int d = t.t1;
    if (c > d)
        t.t = d;
    else
        t.t = c;
    return t.t;
}

int main(void) {
    struct s t;
    for (int i = -1; i <= 0; i++) {
        for (int j = -1; j <= 0; j++) {
            struct s t = {i, j};
            int r = f(t);
            int exp = i < j ? i : j;
            if (exp != r)
                __builtin_abort();
        }
    }
}
