Hello!
Who can help me with my gpc-compiler error? I think its an arithmetic problem, maybe the declaration of Single-Arrays...
The following code produces an 'Internal compiler error: program gpc1 got fatal signal 6' on my Solaris2.6 system:
function GetdtCourant:Single; var i,j,k:Integer; du,dv,dw:Single; dtmax,dthier:Single; begin dtmax:=10.0; if LowWindMode then dtmax:=0.1; For k:=1 to KK DO For j:=1 to JJ DO For i:=1 to II DO if h_c[i,j,k]=1 then begin du:=abs((0.5*(UU[i,j,k]+UU[i+1,j,k]))/dx[i]);gpc: Internal compiler error: program gpc1 got fatal signal 6
If I replace 'dx[i]' with '2' or '2.5', it works. (I find it strange...) For better debugging I append the declaration of all variables and constants:
UNIT Stroemtest;
INTERFACE
function GetdtCourant:Single;
const max_x=70; const MAX_Y=70; const MAX_Z=32; const maxCFLStep:Single=1.0; const ee:Single=1*10e-10; const courantfactor:Single=1.0; const MAX_Zges=32+15;
type maingrid= Array[1..max_X,1..Max_Y,0..Max_Z] of Single;
var uu: maingrid; vv: maingrid; ww: maingrid; LowWindMode: Boolean=false; II: SmallInt; JJ: smallInt; KK: Smallint; H_c: Array[1..max_X,1..Max_Y,0..Max_Z] of Byte; dx: Array[0..Max_x] of Single; dy: Array[0..Max_y] of Single; dz: ARRAY[0..MAX_Zges] of Single;
IMPLEMENTATION
function GetdtCourant:Single; var i,j,k:Integer; . . . .
==> great thanks for helping
Matthias
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
- Matthias Friedrich - email: mafri@ipg.uni-freiburg.de