1! { dg-do compile } 2! { dg-options "-Wcompare-reals" } 3program main 4 real :: a 5 complex :: c 6 read (*,*) a 7 read (*,*) c 8 if (a .eq. 3.14) print *,"foo" ! { dg-warning "Equality comparison for REAL" } 9 if (3.14 == a) print *,"foo" ! { dg-warning "Equality comparison for REAL" } 10 if (a .eq. 3) print *,"foo" ! { dg-warning "Equality comparison for REAL" } 11 if (3. == a) print *,"foo" ! { dg-warning "Equality comparison for REAL" } 12 if (a .ne. 4.14) print *,"foo" ! { dg-warning "Inequality comparison for REAL" } 13 if (4.14 /= a) print *,"foo" ! { dg-warning "Inequality comparison for REAL" } 14 if (a .ne. 4) print *,"foo" ! { dg-warning "Inequality comparison for REAL" } 15 if (4 /= a) print *,"foo" ! { dg-warning "Inequality comparison for REAL" } 16 17 if (c .eq. (3.14, 2.11)) print *,"foo" ! { dg-warning "Equality comparison for COMPLEX" } 18 if ((3.14, 2.11) == a) print *,"foo" ! { dg-warning "Equality comparison for COMPLEX" } 19 if (c .ne. (3.14, 2.11)) print *,"foo" ! { dg-warning "Inequality comparison for COMPLEX" } 20 if ((3.14, 2.11) /= a) print *,"foo" ! { dg-warning "Inequality comparison for COMPLEX" } 21end program main 22