* the exact version of GCC;
> gfortran -v
Utilisation des specs internes.
Target: i386-redhat-linux
Configuré avec: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--host=i386-redhat-linux
Modèle de thread: posix
version gcc 4.0.1 20050727 (Red Hat 4.0.1-5)
* the system type;
> cat /proc/version
Linux version 2.6.13-1.1526_FC4smp ([EMAIL PROTECTED])
(gcc version 4.0.1 20050727 (Red Hat 4.0.1-5)) #1 SMP Wed Sep 28 19:30:04 EDT
2005
* the options given when GCC was configured/built;
> gfortran -v -save-temps -c bug.f90
GNU F95 version 4.0.1 20050727 (Red Hat 4.0.1-5) (i386-redhat-linux)
compiled by GNU C version 4.0.1 20050727 (Red Hat 4.0.1-5).
heuristiques GGC: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
* the complete command line that triggers the bug;
gfortran -c bug.f90
* the compiler output (error messages, warnings, etc.); and
> gfortran -c bug.f90
bug.f90: In function s_to_c:
bug.f90:21: erreur interne du compilateur: dans gfc_finish_var_decl, à
fortran/trans-decl.c:436
Veuillez soumettre un rapport complet d'anomalies,
avec le source pré-traité si nécessaire.
Consultez <URL:http://bugzilla.redhat.com/bugzilla> pour plus de détail.
* the preprocessed file (*.i*) that triggers the bug, generated by adding
-save-temps to the complete compilation command, or, in the case of a bug
report for the GNAT front end, a complete set of source files (see below).
> cat bug.f90
MODULE ISO_VARYING_STRING
PRIVATE
TYPE VARYING_STRING
PRIVATE
CHARACTER,DIMENSION(:),POINTER :: chars
ENDTYPE VARYING_STRING
CHARACTER,PARAMETER :: blank = " "
PUBLIC :: s_to_c
CONTAINS
FUNCTION s_to_c(string)
type(VARYING_STRING),INTENT(IN) :: string
! returns the characters of string as an automatically sized character
CHARACTER(LEN=SIZE(string%chars)) :: s_to_c
INTEGER :: lc
lc=SIZE(string%chars)
DO i=1,lc
s_to_c(i:i) = string%chars(i)
ENDDO
ENDFUNCTION s_to_c
END MODULE ISO_VARYING_STRING
--
Summary: varying string length character function result
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: r dot butel at epoc dot u-bordeaux1 dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24503