comparison gcc/testsuite/gcc.dg/Wlogical-op-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /*
2 { dg-do compile }
3 { dg-options "-Wlogical-op" }
4 */
5
6 enum { a, ba, b };
7
8 enum testenum { t1, t2};
9
10 extern int c;
11 extern char bool_a, bool_b;
12
13 extern int testa();
14
15 void foo()
16 {
17 if ( testa() && b ) /* { dg-warning "logical" } */
18 (void)testa();
19
20 if ( c && b ) /* { dg-warning "logical" } */
21 (void)testa();
22
23 if ( c && 0x42 ) /* { dg-warning "logical" } */
24 (void)testa();
25
26 if ( c && 0x80 >>6) /* { dg-warning "logical" } */
27 (void)testa();
28
29
30 if ( b && c == a ) /* { dg-bogus "logical" } */
31 (void)testa();
32
33 if ( 1 && c ) /* { dg-bogus "logical" } */
34 (void)testa();
35
36 if ( t2 && b ) /* { dg-bogus "logical" } */
37 (void)testa();
38
39 if ( 0 && c == a ) /* { dg-bogus "logical" } */
40 (void)testa();
41
42 if ( b && 1 ) /* { dg-bogus "logical" } */
43 (void)testa();
44 }
45
46
47 void bar()
48 {
49 if ( testa() || b ) /* { dg-warning "logical" } */
50 (void)testa();
51
52 if ( c || b ) /* { dg-warning "logical" } */
53 (void)testa();
54
55 if ( c || 0x42 ) /* { dg-warning "logical" } */
56 (void) testa();
57
58 if ( c || 0x80 >>6) /* { dg-warning "logical" } */
59 (void)testa();
60
61
62 if ( b || c == a ) /* { dg-bogus "logical" } */
63 (void)testa();
64
65 if ( 1 || c ) /* { dg-bogus "logical" } */
66 (void)testa();
67
68 if ( t2 || b ) /* { dg-bogus "logical" } */
69 (void)testa();
70
71 if ( 0 || c == a ) /* { dg-bogus "logical" } */
72 (void)testa();
73
74 if ( b || 1 ) /* { dg-bogus "logical" } */
75 (void)testa();
76 }
77