This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
internal compiler error
- From: <Malte dot Mauelshagen at dlr dot de>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Mon, 12 Jul 2010 09:54:10 +0200
- Subject: internal compiler error
hello,
i converted some files of my project from fixed-format (.f77) to free-format (.f90) and divided the code into some subroutines.
Unfortunately now, there occurs a problem and i dont know how to solve:
gfortran -x f95-cpp-input -ffast-math -m64 -w -O2 -frecord-marker=4 -DtwoD -UnoTecplotLib -Dturbvel -Dcaa -Dpurser -Dpartini -Dsweeping -Dltble -Dfiltering -c ../MainSubs/PianoInterface.f90 2>&1 |tee PianoInterface.err
../MainSubs/PianoInterface.f90: In function ?initpiano?:
../MainSubs/PianoInterface.f90:494: internal compiler error: in gfc_conv_function_val, at fortran/trans-expr.c:1177
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.opensuse.org> for instructions.
Here is an extract from my code(../MainSubs/PianoInterface.f90): (lines 458-498)
-----------------------------------------------------------------------
!---- get necessary information from logic file and ...
!=======================================================================
call ReadLogic(Fil%Log, GlobDirLast, SegMap)
write(PipOut, 401) &
#ifdef parallel
& 'Processor', MyCPU, ': ', &
#endif
& 'logic read in and distributed ...'
call Wait
!-----------------------------------------------------------------------
!---- ... distributes the work
!=======================================================================
call Distribute(DirIn//Fil%Proc, Box2Process, Glob2Local, &
& Loc2Global, MaxBox, GlobMaxBox, DirLast, &
& GlobDirLast)
write(PipOut, 401) &
#ifdef parallel
& 'Processor', MyCPU, ': ', &
#endif
& 'all blocks are distributed ...'
call Wait
!-----------------------------------------------------------------------
!---- checks all readed parameters for consistency
!=======================================================================
call CheckPara(SrcPeriod, dtSource, thermo, &
& NoInit, Init, AreaVar, MicsVar, NoDamp, Damp, &
& NoCirc, Circles, NoSrcFile, RPMpara, sponge, SBT)
write(PipOut, 401) &
#ifdef parallel
& 'Processor', MyCPU, ': ', &
#endif
& 'check of parameters passed ...'
call Wait !!!!!!!!!!(THIS IS LINE 494!!!!!!)!!!!!
!---- detect type of running machine and initialize parameters in C-world
!-----------------------------------------------------------------------
box = TestMachine(Dim, FormInt, FormFlt, FormDbl, zero,Debug%Read)
It seems to be a bit arbitrary, because the two times the fuction wait is called before, it works.
I use "GNU Fortran 95 (GCC) 4.1.2 20070115 (SUSE Linux)" and "x86_64 GNU/Linux".
Hopefully this is the correct mailing-list and you know how to solve the problem.
Thank you in advance
Malte Mauelshagen
-----------------------------------------------------------------------------
German Aerospace Center (DLR)
Member of the Helmholtz-Association
Institute of Aerodynamics and Flow Technology