Related articles |
---|
[3 earlier articles] |
Re: failure due to compiler? ian@five-d.com (1996-07-07) |
failure due to compiler? flake@elda.demon.co.uk (1996-07-09) |
Re: failure due to compiler? dennis@netcom.com (1996-07-10) |
Re: failure due to compiler? dennis@netcom.com (1996-07-10) |
Re: failure due to compiler? grout@polestar.csrd.uiuc.edu (1996-07-10) |
Re: failure due to compiler? khays@sequent.com (1996-07-10) |
Re: failure due to compiler? cliffc@ami.sps.mot.com (1996-07-10) |
Re: failure due to compiler? WStreett@shell.monmouth.com (1996-07-13) |
Re: failure due to compiler? jfc@mit.edu (1996-07-13) |
Re: failure due to compiler? bobduff@world.std.com (1996-07-13) |
Re: failure due to compiler? baynes@ukpsshp1.serigate.philips.nl (1996-07-13) |
Randomized compilation order (was: failure due to compiler?) masticol@scr.siemens.com (1996-07-13) |
Re: failure due to compiler? alain@phidani.be (Corchia Alain) (1996-07-15) |
[22 later articles] |
From: | cliffc@ami.sps.mot.com (Cliff Click) |
Newsgroups: | comp.compilers |
Date: | 10 Jul 1996 12:08:09 -0400 |
Organization: | none |
References: | 96-07-041 96-07-056 |
Keywords: | errors |
flake@elda.demon.co.uk (Peter L Flake) writes:
> The most obscure compiler bug I ever came across was in the Multics BCPL
> compiler. It had a code generation bug which depended on which procedure
> was done first. It also had a random number generator based on the CPU
> clock which determined the order in which code generation was done. So a
> correct BCPL program would sometimes compile correctly, and sometimes
> incorrectly!
>
> [Anyone got any insight into why in the world they made a non-deterministic
> compiler? -John]
A universal hash function? Guaranteed performance, even in the face of
pathological inputs, because the hash function changes every time and any
given instance of the hash function has a very small chance of being
pathologically bad? Just my guess...
When we self-host, we require our stage-2 and stage-3 object files to differ
only in the time stamps. The occasional uninitialized variable might
generate correct code today but with, e.g., all instances of register 29
and register 17 swapped on different runs. Makes debugging devilishly
difficult.
Cliff
--
Cliff Click, Ph.D. Compiler Researcher & Designer
RISC Software, Motorola PowerPC Compilers
cliffc@risc.sps.mot.com (512) 891-7240
http://members.aol.com/mjclick1
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.