Re: failure due to compiler?

cliffc@ami.sps.mot.com (Cliff Click)
10 Jul 1996 12:08:09 -0400

          From comp.compilers

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]
| List of all articles for this month |

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
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.