blob: f5e7c4e564b37f09f552d48752d217d2912f49c5 [file] [log] [blame]
! { 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