aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/analyzer/infinite-recursion-pr108935-2.c
blob: c46f1f8012c823b84a0539414d7fc1cc3dd8e0a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
typedef struct {
    unsigned done;
} foo_t;

unsigned foo(foo_t* f) {
    if (f->done) {
        return f->done;
    }
    f->done = 1;
    return foo(f); /* { dg-bogus "infinite recursion" } */
}

int main() {
    foo_t f = (foo_t){
        .done = 0,
    };
    foo(&f);
}