From: Rainer Weikusat on
David Schwartz <davids(a)webmaster.com> writes:
> On Feb 13, 10:05�am, "Andreas H" <Andreas.H....(a)alumni.tu-berlin.de>
> wrote:
>
>> "David Schwartz" <dav...(a)webmaster.com> wrote:
>
>> > *this* code was broken *because* it violated a rule in the C standard
>
>> I think that's flat wrong.
>
> Then please explain why.

Because the C-standard only says that it is not strictly conforming C
because it violated this rule. How often does this simple and easily
verifiable fact need to be repeated until it actually reaches the
place between your ears which is so wonderfully effective at inventing
useless verbal abuses targetted at people which do not share your
wrong-headed opinion because it is wrong-headed?

[...]

> That is obvious idiocy. It is not incorrect to point out that there
> would not have been a fire had the bed been made out of stone. But it
> is idiocy to argue this somehow contradicts the argument that the fire
> occured *because* the person was smoking in bed.
>
>> Thus, this code was broken because it relied on a *non-standard behaviour*
>> that was not supported by the actual implementation.
>
> That is another way to say the exact same thing I said.

That's something rather different because the non-standard behaviour
could have been supported by the implementation and the code had
worked than, although its portability to other implementations would
have been limited (as also said in the C-standard).

[...]

>> I generally enjoy reading your postings in this group, but you really should
>> not call somebody an idiot just like that, please.
>
> Believe me, I'm quite careful before I throw term that around.

Generally, whenever re-asserting the same nonsense six times over
didn't work out as expected.
From: Nicolas George on
David Schwartz wrote in message
<b91fd5cc-57b4-486c-9ac3-e3d87589715f(a)k36g2000prb.googlegroups.com>:
<snip>

I answer here in the thread somewhat randomly. I would just like to try to
put some order in this discussion.

A program is broken when it does not do what it is supposed to do, including
when it sometimes does what it is supposed to to but not always.

Now, what does that mean?

A program that is supposed to be portable C/Unix, but relies on some
implementation-defined behaviour, for example some GNU-ism or some x86-ism,
is broken: it may work as expected on the developer's box, but will possibly
not work somewhere else while it is supposed to.

On the other hand, a program that relies on some implementation-defined
behaviour and clearly states it in its documentation is clearly not broken.

Now for our particular case: Jorge is discussing his program in
comp.unix.programmer, not in comp.gnu.programmer, and he did not state that
his program was supposed to be GNU-specific. It is therefore implicitly
supposed to be portable Unix C. Since it is not, it is broken.
From: David Schwartz on
On Feb 14, 9:38 am, Rainer Weikusat <rweiku...(a)mssgmbh.com> wrote:

> >> > *this* code was broken *because* it violated a rule in the C standard

> >> I think that's flat wrong.

> > Then please explain why.

> Because the C-standard only says that it is not strictly conforming C
> because it violated this rule.

I didn't say the C-standard said it was broken. Again, you pretend I
said something other than what I said so you can point out that it's
wrong.

> > That is another way to say the exact same thing I said.

>> Thus, this code was broken because it relied on a *non-standard behaviour*
>> that was not supported by the actual implementation.

> That's something rather different because the non-standard behaviour
> could have been supported by the implementation and the code had
> worked than, although its portability to other implementations would
> have been limited (as also said in the C-standard).

I don't know what to do but throw my arms up in frustration. That
there was some way that was not in fact the case that what I said
could have been incorrect does not make it incorrect unless that thing
is actually the case.

Do you really not understand how reason works? If I say "the house
burned down because the guy was smoking in bed", you cannot pronounce
my statement incorrect because lots of people smoke in bed without
burning down their houses or because smoking in a bed made of stone
cannot burn down a house. All that is required is that his house
burned down, he was smoking in bed, and all the things that could have
made smoking in bed not cause a fire didn't happen in this one
particular case.

DS
From: Nicolas George on
Rainer Weikusat wrote in message <87pr47afay.fsf(a)fever.mssgmbh.com>:
> Because the C-standard only says that it is not strictly conforming C

> That's something rather different because the non-standard behaviour
> could have been supported by the implementation

Did Jorge inform you that he was working specifically for a particular
implementation?
From: Golden California Girls on
Nicolas George wrote:
> Rainer Weikusat wrote in message <87pr47afay.fsf(a)fever.mssgmbh.com>:
>> Because the C-standard only says that it is not strictly conforming C
>
>> That's something rather different because the non-standard behaviour
>> could have been supported by the implementation
>
> Did Jorge inform you that he was working specifically for a particular
> implementation?

Does a failure to so state indicate he wasn't?

--
99.99% of the time the error is in the switches used to invoke the compiler.
The switch that causes more failures than any other is -ansi