/* Test comparisons of pointers to complete and incomplete types are diagnosed in C11 mode with -Wc99-c11-compat. */ /* { dg-do compile } */ /* { dg-options "-std=c11 -pedantic-errors -Wc99-c11-compat" } */ int f (int (*p)[], int (*q)[3]) { return p < q; /* { dg-warning "complete and incomplete" } */ } int f2 (int (*p)[], int (*q)[3]) { return p <= q; /* { dg-warning "complete and incomplete" } */ } int f3 (int (*p)[], int (*q)[3]) { return p > q; /* { dg-warning "complete and incomplete" } */ } int f4 (int (*p)[], int (*q)[3]) { return p >= q; /* { dg-warning "complete and incomplete" } */ } int g (int (*p)[], int (*q)[3]) { return q < p; /* { dg-warning "complete and incomplete" } */ } int g2 (int (*p)[], int (*q)[3]) { return q <= p; /* { dg-warning "complete and incomplete" } */ } int g3 (int (*p)[], int (*q)[3]) { return q > p; /* { dg-warning "complete and incomplete" } */ } int g4 (int (*p)[], int (*q)[3]) { return q >= p; /* { dg-warning "complete and incomplete" } */ }