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