comparison gcc/testsuite/gcc.dg/pr59846.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
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 >= 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 < 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 }