[lazarus] Compile freezes up ??

Andrew Johnson aj_genius at hotmail.com
Tue Oct 22 22:27:25 EDT 2002


On Tue, 22 Oct 2002 21:31:32 -0200
Karl Brandt <pascalive at bol.com.br> wrote :
>
>Peter Vreman wrote:
>
>>>Karl Brandt wrote:
>>>
>>>
>>>
>>>>David Creelman wrote:
>>>>
>>>>
>>>>
>>>>>Strange,
>>>>>
>>>>>For me I can't even compile lazarus now. I do cvs update;make clean
>>>>>all and then on graphicsmath.pp, the compiler becomes extremely busy
>>>>>and XWindows response becomes very slow and eventually it crashes
>>>>>X11. This is before even running it. Everything worked okay a few
>>>>>days ago. What has changed ?
>>>>>
>>>>>
>>>>>
>>>>I'm having similar problem when i try to compile the lcl under win32:
>>>>I get the following message:
>>>>Compiling graphicsmath.pp
>>>>Error: Stack Overflow
>>>>Compilation aborted graphicsmath.pp:152
>>>>C:\BIN\CODE\FPC\BIN\WIN32\MAKE.EXE: *** [allunits.ppw] Error 202
>>>>
>>>>
>>
>>A stack overflow most of the times has to do with having too many
>>interdependent units. Restarting the compilation with already some ppu's
>>available can 'fix' the problem.
>>In the development (1.1) compiler this problem should be fixed.
>>
>>
>>
>graphicsmath.pp uses only Classes, SysUtils and Math, and when i try to 
>compile it manually (alone) the same error occurs. I don't think that the 
>error resides in  interdependent units

No. this is definately a problem with overloaded operators. AFAIK all 
definitions are valid, which means it has to be a compiler issue. Since this 
does not occur at all in current versions of the 1.1 compiler, and from what 
I am understanding, only sometimes/with certain versions of 1.0.7, I can 
only assume this is a problem in the 1.0.6 compiler which has finally been 
fixed in later/more recent versions of the compiler in CVS. I can only guess 
at this, but my first thought is that it is

operator := (TFloatPoint) : TPoint;

that is causing this problem, so Karl, why don't you try disabling this 
operator and see if it still happens. If it does, try disabling the

operator := (TPoint) : TFloatPoint;

it may be that having both these definitions at the same time is causing 
some sort of compiler loop in one of the routines which uses TFloatPoint's 
(such as BezierMidPoint). I will see if I can't get an old version of the 
compiler installed on another computer to test it and compare with other 
versions and try and duplicate this bug.

Andrew

_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online 
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963






More information about the Lazarus mailing list