Re: failure due to compiler?

ian@five-d.com (Ian Kemmish)
7 Jul 1996 14:26:23 -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)
[25 later articles]
| List of all articles for this month |

From: ian@five-d.com (Ian Kemmish)
Newsgroups: comp.compilers
Date: 7 Jul 1996 14:26:23 -0400
Organization: At home with Ian
References: 96-07-035 96-07-041
Keywords: errors, C++

>resler@liberty.mas.vcu.edu (Dan Resler) writes:
>
>|> 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. Any
>|> help would be appreciated; thanks.


Optimisers are a rich source of bugs. The bundled HP-UX compiler seems unable
to handle any non-trivial pointer calculations with optimisation turned on.


The GCC optimiser fails to check for overflow when folding constants. This
can change program behaviour when the calculation in question is part of
changing the loop induction variable. This one is dependent on target CPU, so
you can't even predict whether your program will be affected or not.


The version of GCC that shipped with NextStep 3.0 (for Intel) was very keen on
prematurely re-using registers.


The original NeWS source from Sun had an interesting construct that broke most
compilers around in those days:


    a = (b ? f1 : f2) (c, d, e);


where f1 and f2 were function names, not function pointers.


and so on and so on....


============================================================================
Ian Kemmish 18 Durham Close, Biggleswade, Beds SG18 8HZ
ian@five-d.com Tel: +44 1767 601 361 Fax: +44 1767 312 006
--


Post a followup to this message

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