]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/pr59846.c
gcc/ada/ChangeLog:
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / pr59846.c
1 /* PR c/59846 */
2 /* { dg-do compile } */
3 /* { dg-options "-Wlogical-op -Wtype-limits" } */
4
5 _Bool
6 fn1 (unsigned int p)
7 {
8 return 0ULL > p; /* { dg-warning "15:comparison is always false due to limited range of data type" } */
9 }
10
11 _Bool
12 fn2 (unsigned int p)
13 {
14 return 0ULL <= p; /* { dg-warning "15:comparison is always true due to limited range of data type" } */
15 }
16
17 _Bool
18 fn3 (unsigned int p)
19 {
20 return p >= 0U; /* { dg-warning "12:comparison of unsigned expression in '>= 0' is always true" } */
21 }
22
23 _Bool
24 fn4 (unsigned int p)
25 {
26 return p < 0U; /* { dg-warning "12:comparison of unsigned expression in '< 0' is always false" } */
27 }
28
29 _Bool
30 fn5 (_Bool p)
31 {
32 return p || !p; /* { dg-warning "12:logical" } */
33 }
34
35 _Bool
36 fn6 (_Bool p)
37 {
38 return p && !p; /* { dg-warning "12:logical" } */
39 }