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(a)ipg.uni-freiburg.de