[fpc-devel] Compiling for libgdb, and using make -j on larger SPARC systems

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Fri Sep 13 22:14:48 CEST 2013

Apologies for my lousy threading, but the gateway here drops some messages.

Sven Barth wrote:
>> The divide-by-zero is caused when the compiler attempts to compile an 
>> assignment of a tVectorregs inside TVectorView.Draw, i.e. as minimal code:
>>   procedure TVectorView.Draw;
>>     var
>>        rs : tVectorregs; { stuff commented out here }
>>     begin
>>       rs := rs; { more stuff commented out here }
>>     end;
>> All of the tVectorregs assignments in that method cause the problem, not 
>> just the artificial one I show above.
>> I ended up doing a full build for tests, since I think I found a 
>> situation where once a compiler was OK it stayed OK and I wanted to be 
>> absolutely certain of my facts rather than crying wolf over a problem 
>> that might be difficult to reproduce.
 > So if you put the declaration of TVectorRegs in a program and add a
 > function that does the above assignment, you can reproduce it as well?

So far, no :-( But I'll keep trying.

I can confirm that a stripped-down function as above still triggers the 
problem, i.e. it's not something odd in the commented-out bits.

I can also say, with more confidence than earlier, that the full build 
is necessary since otherwise once the IDE has built successfully it 
keeps on building even if fpregs.pas is modified to induce the fault and 
a compiler  make cycle  is done (but the machine running the build is in 
somebody else's office, so I'm not the one with the extra heat :-)

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-devel mailing list