Re: failure due to compiler?

dennis@netcom.com (Dennis Yelle)
10 Jul 1996 12:00:43 -0400

          From comp.compilers

Related articles
failure due to compiler? resler@liberty.mas.vcu.edu (1996-07-03)
Re: failure due to compiler? kanze@lts.sel.alcatel.de (1996-07-04)
Re: failure due to compiler? gclind01@starbase.spd.louisville.edu (1996-07-07)
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)
[22 later articles]
| List of all articles for this month |

From: dennis@netcom.com (Dennis Yelle)
Newsgroups: comp.compilers
Date: 10 Jul 1996 12:00:43 -0400
Organization: Very little
References: 96-07-041 96-07-056
Keywords: errors

|> I am looking for pointers or references to descriptions where software
|> has compiled without error and later failed due to compiler-introduced
|> errors in the resultant program. In other words, the source was deemed
|> to be error free but the compiler botched the code generation.


I once used a compiler that would sometimes compile this:


    a = b >> 8;


Into:


    move ax, b
    move al, ah
    move ah, 0
    move a, ax


Which worked.
But sometimes it would compile it into this:


    move si, b
    <garbage>
    <garbage>
    move a, si


It seemed that the compiler thought that it could
generate instructions to access the two halves of
the si (or di) register independantly using the
pattern that worked for ax (or bx, cx, or dx).


--
dennis@netcom.com (Dennis Yelle)
--


Post a followup to this message

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