| ! { dg-do compile } |
| ! { dg-options "-Wconversion" } |
| ! PR 47359 - additional warnings for conversions. |
| program main |
| implicit none |
| complex(kind=4) :: c4 |
| complex(kind=8) :: c8 |
| real(kind=4) :: r4 |
| real(kind=8) :: r8 |
| complex(kind=4), parameter :: c4p = (1.0, -4.) |
| complex, parameter :: c8w = (1.0_8, -4.2_8) ! { dg-warning "Change of value in conversion" } |
| complex (kind=8), parameter :: c8p = (1.0_8, -4.2_8) |
| integer :: i |
| |
| c4 = c8p ! { dg-warning "Change of value in conversion" } |
| c4 = 2**26 + 1 ! { dg-warning "Change of value in conversion" } |
| c4 = 1.3d0 ! { dg-warning "Change of value in conversion" } |
| c4 = c8p ! { dg-warning "Change of value in conversion" } |
| c4 = (1.2, 1000000001) ! { dg-warning "Change of value in conversion" } |
| r4 = (2**26 + 1) * 2.3 ! { dg-warning "Change of value in conversion" } |
| r4 = 2.4d0 ! { dg-warning "Change of value" } |
| r4 = c4p ! { dg-warning "Non-zero imaginary part" } |
| r4 = r4 + 2.3d0 ! { dg-warning "Possible change of value in conversion" } |
| r8 = 2_8**62 - 1_8 ! { dg-warning "Change of value in conversion" } |
| i = c4p ! { dg-warning "Non-zero imaginary part" } |
| i = 42 + 1.3 ! { dg-warning "Change of value in conversion" } |
| i = (1.2, 0.) ! { dg-warning "Change of value in conversion" } |
| c4 = 1.2 ! no warning |
| c4 = -3.25d0 ! no warning |
| c4 = -42 ! no warning |
| c8 = 2**26 + 1 ! no warning |
| i = 22. ! no warning |
| i = (35., 0.) ! no warning |
| r4 = 2.5d0 ! no warning |
| r4 = 235 ! no warning |
| r8 = 2.3 ! no warning |
| end program main |