https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67817
Bug ID: 67817 Summary: Missing compilation error for some wrong conversions in data Product: gcc Version: 5.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gerhard.steinmetz.fort...@t-online.de Target Milestone: --- For the following cases an error message should be given. Rejection makes it comparable to other ways of initialization. (add-on to PR67804) $ cat z1.f90 program p type t real :: a end type type(t) :: x6, x8 data x6 /t(.true.)/ data x8 /t('1')/ print *, x6 print *, x8 end $ gfortran -g -O0 -Wall -fcheck=all -fno-frontend-optimize z1.f90 $ a.out 1.40129846E-45 6.86636248E-44 --- Here, relevant errors are detected : $ cat z2.f90 program p real :: x6, x8 data x6 /.true./ data x8 /'1'/ end $ gfortran -g -O0 -Wall -fcheck=all -fno-frontend-optimize z2.f90 z2.f90:4:7: data x8 /'1'/ 1 Error: Incompatible types in DATA statement at (1); attempted conversion of CHARACTER(1) to REAL(4) z2.f90:3:7: data x6 /.true./ 1 Error: Incompatible types in DATA statement at (1); attempted conversion of LOGICAL(4) to REAL(4) --- $ cat z3.f90 program p type t real :: a end type type(t), parameter :: x6 = t(.true.) type(t), parameter :: x8 = t('1') end $ gfortran -g -O0 -Wall -fcheck=all -fno-frontend-optimize z3.f90 z3.f90:5:32: type(t), parameter :: x6 = t(.true.) 1 Error: Can't convert LOGICAL(4) to REAL(4) at (1) z3.f90:6:32: type(t), parameter :: x8 = t('1') 1 Error: Can't convert CHARACTER(1) to REAL(4) at (1)