[Bug fortran/38849] New: ICE in fold_convert with C_F_POINTER and C binding
domob at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Jan 14 20:43:00 GMT 2009
This program gives an ICE when compiled with gfortran 4.4 trunk:
FUNCTION myfortran_error ()
USE ISO_C_BINDING
IMPLICIT NONE
CHARACTER(LEN=5) :: myfortran_error
CHARACTER(KIND=C_CHAR, LEN=5), POINTER :: chararr
TYPE(C_PTR) :: c_str
c_str = C_NULL_PTR
CALL C_F_POINTER (c_str, chararr)
myfortran_error(1:1) = chararr(1)
END FUNCTION myfortran_error
bash-3.2# gfortran-dev reduced.f03
reduced.f03: In function 'myfortran_error':
reduced.f03:8: internal compiler error: in fold_convert, at fold-const.c:2649
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
gfortran 4.3 compiles it but fails with an undefined reference to `chararr_'.
Actually I'm not proficient with C binding, so I would not bet the code above
is legal or doing "correct" things with the pointers... However, it should not
ICE.
--
Summary: ICE in fold_convert with C_F_POINTER and C binding
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: domob at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38849
More information about the Gcc-bugs
mailing list