diff options
Diffstat (limited to 'test/Sema/warn-overlap.c')
-rw-r--r-- | test/Sema/warn-overlap.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Sema/warn-overlap.c b/test/Sema/warn-overlap.c index d72e60755d..066312591c 100644 --- a/test/Sema/warn-overlap.c +++ b/test/Sema/warn-overlap.c @@ -158,3 +158,17 @@ int no_warning(unsigned x) { return x >= 0 || x == 1; // no warning since "x >= 0" is caught by a different tautological warning. } + +struct A { + int x; + int y; +}; + +int struct_test(struct A a) { + return a.x > 5 && a.y < 1; // no warning, different variables + + return a.x > 5 && a.x < 1; + // expected-warning@-1{{overlapping comparisons always evaluate to false}} + return a.y == 1 || a.y != 1; + // expected-warning@-1{{overlapping comparisons always evaluate to true}} +} |