annotate gcc/testsuite/gfortran.dg/warn_conversion.f90 @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 ! { dg-options "-Wconversion" }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 !
kono
parents:
diff changeset
5 ! PR fortran/27866 -improve -Wconversion
kono
parents:
diff changeset
6 !
kono
parents:
diff changeset
7 SUBROUTINE pr27866
kono
parents:
diff changeset
8 double precision :: d
kono
parents:
diff changeset
9 real :: r
kono
parents:
diff changeset
10 d = 4d99
kono
parents:
diff changeset
11 r = d ! { dg-warning "conversion" }
kono
parents:
diff changeset
12 END SUBROUTINE
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 SUBROUTINE pr27866c4
kono
parents:
diff changeset
15 real(kind=4) :: a
kono
parents:
diff changeset
16 real(kind=8) :: b
kono
parents:
diff changeset
17 integer(kind=1) :: i1
kono
parents:
diff changeset
18 integer(kind=4) :: i4
kono
parents:
diff changeset
19 i4 = 2.3 ! { dg-warning "conversion" }
kono
parents:
diff changeset
20 i1 = 500 ! { dg-error "overflow" }
kono
parents:
diff changeset
21 a = 2**26-1 ! { dg-warning "Change of value in conversion" }
kono
parents:
diff changeset
22 b = 1d999 ! { dg-error "overflow" }
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 a = i4 ! assignment INTEGER(4) to REAL(4) - no warning
kono
parents:
diff changeset
25 b = i4 ! assignment INTEGER(4) to REAL(8) - no warning
kono
parents:
diff changeset
26 i1 = i4 ! { dg-warning "conversion" }
kono
parents:
diff changeset
27 a = b ! { dg-warning "conversion" }
kono
parents:
diff changeset
28 END SUBROUTINE
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 !
kono
parents:
diff changeset
32 ! PR fortran/35003 - spurious warning with -Wconversion
kono
parents:
diff changeset
33 ! Contributed by Brian Barnes <bcbarnes AT gmail DOT com>
kono
parents:
diff changeset
34 !
kono
parents:
diff changeset
35 SUBROUTINE pr35003
kono
parents:
diff changeset
36 IMPLICIT NONE
kono
parents:
diff changeset
37 integer(8) :: i, n
kono
parents:
diff changeset
38 n = 1_8
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 do i = 1_8,n
kono
parents:
diff changeset
41 enddo
kono
parents:
diff changeset
42 END SUBROUTINE
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44
kono
parents:
diff changeset
45 !
kono
parents:
diff changeset
46 ! PR fortran/42809 - Too much noise with -Wconversion
kono
parents:
diff changeset
47 ! Contributed by Harald Anlauf <anlauf AT gmx DOT de>
kono
parents:
diff changeset
48 !
kono
parents:
diff changeset
49 SUBROUTINE pr42809
kono
parents:
diff changeset
50 implicit none
kono
parents:
diff changeset
51 integer, parameter :: sp = kind (1.0)
kono
parents:
diff changeset
52 integer, parameter :: dp = kind (1.d0)
kono
parents:
diff changeset
53 real(sp) :: s
kono
parents:
diff changeset
54 real(dp) :: d
kono
parents:
diff changeset
55 complex(dp) :: z
kono
parents:
diff changeset
56
kono
parents:
diff changeset
57 s = 0 ! assignment INTEGER(4) to REAL(4) - no warning
kono
parents:
diff changeset
58 d = s ! assignment REAL((8)) to REAL(4) - no warning
kono
parents:
diff changeset
59 z = (0, 1) ! conversion INTEGER(4) to REAL(4),
kono
parents:
diff changeset
60 ! assignment COMPLEX(4) to COMPLEX(8) - no warning
kono
parents:
diff changeset
61 END SUBROUTINE