Hi all, I have a *really* strage problem. In my main program I have the following code snippet:
... if ((currentEpoch <= endDate) and (currentEpoch >= startDate)) then begin err := computeResiduals( corrections, filters, gsObs, observationIndices, gsPos, gpsPos, currentEpoch, residuals, estimatedClocks, errorSats); ...
This works fine. If I add a writeln such as this:
... if ((currentEpoch <= endDate) and (currentEpoch >= startDate)) then begin writeln('xxx'); err := computeResiduals( corrections, filters, gsObs, observationIndices, gsPos, gpsPos, currentEpoch, residuals, estimatedClocks, errorSats); ...
then my function "computeResidual" suddenly fails????? What is going on? Does anyone have an idea? It should be noted that "computeResidual" does not read from stdin or anything...
My gpc runs on linux ans is version 2.1 (20020510) based on gcc-2.95.2 19991024 (release).
Best regards Preben
__________________________________________________ Do you Yahoo!? Y! Web Hosting - Let the expert host your web site http://webhosting.yahoo.com/
(1) Most probable -- not a bug in CPG, but an uninitialized variable in computeResiduals (or any routines it calls). The writeln statement causes the stack or some register look different. So, first to do, is to check all your local variables.
(2) Less probable -- writeln doesn't preserve registers the right way.
Adriaan van Os