23 lines
786 B
C
23 lines
786 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-Wlogical-op" } */
|
|
|
|
void
|
|
fn1 (int a)
|
|
{
|
|
const int x = a;
|
|
if (x && x) {} /* { dg-warning "logical .and. of equal expressions" } */
|
|
if (x && (int) x) {} /* { dg-warning "logical .and. of equal expressions" } */
|
|
if ((int) x && x) {} /* { dg-warning "logical .and. of equal expressions" } */
|
|
if ((int) x && (int) x) {} /* { dg-warning "logical .and. of equal expressions" } */
|
|
}
|
|
|
|
void
|
|
fn2 (int a)
|
|
{
|
|
const int x = a;
|
|
if (x || x) {} /* { dg-warning "logical .or. of equal expressions" } */
|
|
if (x || (int) x) {} /* { dg-warning "logical .or. of equal expressions" } */
|
|
if ((int) x || x) {} /* { dg-warning "logical .or. of equal expressions" } */
|
|
if ((int) x || (int) x) {} /* { dg-warning "logical .or. of equal expressions" } */
|
|
}
|