From 9109446403597478162
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10f5bc,6f6e97a6fdbbf44c
X-Google-Attributes: gid10f5bc,public
X-Google-Thread: 1014db,6f6e97a6fdbbf44c
X-Google-Attributes: gid1014db,public
X-Google-Thread: 1149ec,6f6e97a6fdbbf44c
X-Google-Attributes: gid1149ec,public
X-Google-Thread: 102b75,6f6e97a6fdbbf44c
X-Google-Attributes: gid102b75,public
X-Google-Thread: 110292,6f6e97a6fdbbf44c
X-Google-Attributes: gid110292,public
X-Google-Thread: 109fba,6f6e97a6fdbbf44c
X-Google-Attributes: gid109fba,public
X-Google-Thread: f78e5,6f6e97a6fdbbf44c
X-Google-Attributes: gidf78e5,public
From: ig25@fg70.rz.uni-karlsruhe.de (Thomas Koenig)
Subject: Re: And you thought that the Pentium bug was bad!  (Get a load of this!)
Date: 1995/06/23
Message-ID: <3scr34$smm@fg70.rz.uni-karlsruhe.de>#1/1
X-Deja-AN: 104874051
references: <3s2las$1br@hustle.rahul.net> <3s46bi$3qe@devel.dvstsol.demon.co.uk> <3sbm5j$vuq@locutus.rchland.ibm.com> <GDR11.95Jun22230445@stint.cl.cam.ac.uk>
followup-to: comp.lang.c
content-type: text/plain; charset=iso-8859-1
organization: University of Karlsruhe, Germany
mime-version: 1.0
reply-to: Thomas.Koenig@ciw.uni-karlsruhe.de
newsgroups: comp.std.c,comp.std.c++,comp.lang.c,comp.lang.c++,comp.sys.intel,comp.arch,comp.software.testing

In comp.arch, gdr11@cl.cam.ac.uk (Gareth Rees) wrote:
>Nick Gorham <nick@dvstsol.demon.co.uk> wrote:
>> The simple way to fix this "compilor bug" is not to write code like
>> this.

>Jonathan Allan <xzz0529@honker.rchland.ibm.com> replied:
>> Ah!  The dreaded "Don't *DO* that!" answer.

>Exactly.  The C standard is bad enough, with "undefined" in so places,
>without perfectly legal constructs being unusable too.

It's legal, but it's far from good style; there is no use for this kind
of games with scopes, unless you WANT to be unclear.

Could you have told with certainty, and without looking at the C
standard, what this particular piece of code (even with the forgotten
<stdio.h>) was supposed to have done?  If so, I congratulate you on
your kills in arcane corners of the C standard.

>There's no point
>in having a standard if a compiler writer can just say, "well, no
>sensible programmer would ever do this, so I won't bother implementing
>it".

Well, yes, I agree that this bug should be fixed.

However, it's a sad fact of life that compilers have bugs.  These bugs are
discovered over time, and then fixed.  Why do you think nobody discovered
this particular bug before?  Because nobody in their right mind would write
code like that.

If you program in C, you have to program defensively to avoid the numerous
instances of undefined behaviour, or risk the consequences.
-- 
Thomas Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de, ig25@dkauni2.bitnet.
The joy of engineering is to find a straight line on a double
logarithmic diagram.



