9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 11:52 forsyth
  2002-03-15 16:53 ` Thomas Bushnell, BSG
  0 siblings, 1 reply; 15+ messages in thread
From: forsyth @ 2002-03-15 11:52 UTC (permalink / raw)
  To: 9fans

>>Wow, the snide self-superiority of the previous conversation is really
>>coming home to roost.

i don't think anyone was snide, or even self-superior.
we just don't think gcc is the alpha and omega of compilers,
or even that the trade-offs make sense everywhere.

give it a rest.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
  2002-03-15 11:52 [9fans] Is this a bug in 8c? forsyth
@ 2002-03-15 16:53 ` Thomas Bushnell, BSG
  2002-03-15 17:53   ` William Josephson
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Bushnell, BSG @ 2002-03-15 16:53 UTC (permalink / raw)
  To: 9fans

forsyth@caldo.demon.co.uk writes:

> >>Wow, the snide self-superiority of the previous conversation is really
> >>coming home to roost.
> 
> i don't think anyone was snide, or even self-superior.
> we just don't think gcc is the alpha and omega of compilers,
> or even that the trade-offs make sense everywhere.

The argument was that GCC is bloated and bugridden and unreliable,
where 8c is fast, lean, and (as a consequence), bug free.

And it turns out that 8c has plenty of *intentional* bugs. 

The claim was that GCC trades optimization for correctness, when it
certainly makes no such intentional trade.

But 8c in fact *does* make such trades, either to save developer time,
or just a deliberate "yes, this is wrong, but the generated code is
faster!"

Thomas


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
  2002-03-15 16:53 ` Thomas Bushnell, BSG
@ 2002-03-15 17:53   ` William Josephson
  0 siblings, 0 replies; 15+ messages in thread
From: William Josephson @ 2002-03-15 17:53 UTC (permalink / raw)
  To: 9fans

On Fri, Mar 15, 2002 at 04:53:15PM +0000, Thomas Bushnell, BSG wrote:

> The claim was that GCC trades optimization for correctness, when it
> certainly makes no such intentional trade.

Intention doesn't have much to do with it as far as I can tell.

> But 8c in fact *does* make such trades, either to save developer time,
> or just a deliberate "yes, this is wrong, but the generated code is
> faster!"

> Thomas

You're a really sore loser, you know that?


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
  2002-03-15 13:51 rob pike
@ 2002-03-15 17:26 ` Thomas Bushnell, BSG
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Bushnell, BSG @ 2002-03-15 17:26 UTC (permalink / raw)
  To: 9fans

rob@plan9.bell-labs.com (rob pike) writes:

> a) long long is not an integer type according to the ANSI C standard I
> hold in my hand.  Perhaps it is in C9X, but it's not even mentioned in
> the old standard.  It isn't a type at all as far as the standard is
> concerned.  I know other compilers came to implement it, but where in
> the 1989 standard - the one 8c was written to - does it mention long
> long?

It's not a standards violation, but it's clear that it's a bug.

> b) 8c is not "riddled" with "intentional bugs".  Be careful who you
> call snide and self-superior.  I think the strongest honest statement
> you could make as far as long long is concerned is that some of the
> operations on the long long extension are unimplemented.  That is a
> far cry from "riddled" with "intentional bugs".

Even the error message was improper, since it didn't say anything
about what the actual problem was.  Make that four bugs now.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 16:41 Fco.J.Ballesteros
  0 siblings, 0 replies; 15+ messages in thread
From: Fco.J.Ballesteros @ 2002-03-15 16:41 UTC (permalink / raw)
  To: 9fans

Now that bwc points out what I was thinking about,
Could we agree to stop sending childish messages or to
create a 9rant mailing list for them (like it was done for the
licensing issues)?

sorry to increase the noise portion of the list.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 14:43 bwc
  0 siblings, 0 replies; 15+ messages in thread
From: bwc @ 2002-03-15 14:43 UTC (permalink / raw)
  To: 9fans

As the one who made the first posting, I want to express my distaste
for what just happened.  I posted something I saw that seemed odd.
This is what this list is for.  I got a quick response that made complete
sense.  It would be very childish of me to not be thankful for long long
JUST THE WAY IT CURRENTLY IS.  It's useful, even if it's not fully integrated
into the language.

The hateful response to the answer may demonstrate the effects
using emacs has on the brain.  Is there not enough traffic on the
GNU lists?

  Brantley


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 14:11 Russ Cox
  0 siblings, 0 replies; 15+ messages in thread
From: Russ Cox @ 2002-03-15 14:11 UTC (permalink / raw)
  To: 9fans

> Are there more of these cute litlle intentional bugs? 

All the gcc extensions are unimplemented.

Plonk.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 14:08 Russ Cox
  0 siblings, 0 replies; 15+ messages in thread
From: Russ Cox @ 2002-03-15 14:08 UTC (permalink / raw)
  To: 9fans

> > 8c et al. don't do ? : for non-integer types,
> > and long long is a non-integer type (meaning
> > it's synthesized from multiple machine words).
> 
> long long is an "integer type" according to the meaning
> of that term in the C standard.  That's not determined
> by implementation details such as how many words are needed.

x g/> >/ s/integer/register/.  happy?

i gave a precise description of what was and was not
implemented.  i was not trying to justify it by an
appeal to language law.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 13:51 rob pike
  2002-03-15 17:26 ` Thomas Bushnell, BSG
  0 siblings, 1 reply; 15+ messages in thread
From: rob pike @ 2002-03-15 13:51 UTC (permalink / raw)
  To: 9fans

> long long is an "integer type" according to the meaning
> of that term in the C standard. 
....
> ... snide self-superiority ...
> 8c is apparently
> riddled with *intentional* bugs. 

Just a minute here.  I'm not apologizing for long long not supporting
?:, because I think it really should, but nonetheless:

a) long long is not an integer type according to the ANSI C standard I
hold in my hand.  Perhaps it is in C9X, but it's not even mentioned in
the old standard.  It isn't a type at all as far as the standard is
concerned.  I know other compilers came to implement it, but where in
the 1989 standard - the one 8c was written to - does it mention long
long?

b) 8c is not "riddled" with "intentional bugs".  Be careful who you
call snide and self-superior.  I think the strongest honest statement
you could make as far as long long is concerned is that some of the
operations on the long long extension are unimplemented.  That is a
far cry from "riddled" with "intentional bugs".

-rob



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-15 11:52 forsyth
  0 siblings, 0 replies; 15+ messages in thread
From: forsyth @ 2002-03-15 11:52 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 479 bytes --]

it probably boils down to ``nothing in the system needs it that much (yet)'',
and there were plenty of other worthwhile things to do (such as storing the hits of the 60s),
but since offsets are now 64 bits, it's probable that something will be done about it.
the long long support was originally light, but has changed over the past year or so.

>>Strange, it's about the same as supporting "long" on the PDP-11.

it took a little while for that to be done fully, too.


[-- Attachment #2: Type: message/rfc822, Size: 2134 bytes --]

To: 9fans@cse.psu.edu
Subject: Re: [9fans] Is this a bug in 8c?
Date: Fri, 15 Mar 2002 10:19:07 GMT
Message-ID: <3C914F6C.D2F42C9E@null.net>

Russ Cox wrote:
> 8c et al. don't do ? : for non-integer types,
> and long long is a non-integer type (meaning
> it's synthesized from multiple machine words).

long long is an "integer type" according to the meaning
of that term in the C standard.  That's not determined
by implementation details such as how many words are needed.

> Ken said the amount of work wasn't worth it.

Strange, it's about the same as supporting "long" on the PDP-11.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
  2002-03-14 19:43 Russ Cox
  2002-03-14 19:49 ` Martin Harriss
  2002-03-15 10:18 ` Thomas Bushnell, BSG
@ 2002-03-15 10:19 ` Douglas A. Gwyn
  2 siblings, 0 replies; 15+ messages in thread
From: Douglas A. Gwyn @ 2002-03-15 10:19 UTC (permalink / raw)
  To: 9fans

Russ Cox wrote:
> 8c et al. don't do ? : for non-integer types,
> and long long is a non-integer type (meaning
> it's synthesized from multiple machine words).

long long is an "integer type" according to the meaning
of that term in the C standard.  That's not determined
by implementation details such as how many words are needed.

> Ken said the amount of work wasn't worth it.

Strange, it's about the same as supporting "long" on the PDP-11.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
  2002-03-14 19:43 Russ Cox
  2002-03-14 19:49 ` Martin Harriss
@ 2002-03-15 10:18 ` Thomas Bushnell, BSG
  2002-03-15 10:19 ` Douglas A. Gwyn
  2 siblings, 0 replies; 15+ messages in thread
From: Thomas Bushnell, BSG @ 2002-03-15 10:18 UTC (permalink / raw)
  To: 9fans

rsc@plan9.bell-labs.com (Russ Cox) writes:

> 8c et al. don't do ? : for non-integer types,
> and long long is a non-integer type (meaning
> it's synthesized from multiple machine words).
> Ken said the amount of work wasn't worth it.

Wow, the snide self-superiority of the previous conversation is really
coming home to roost.

GCC is castigated for having "too many bugs", while 8c is apparently
riddled with *intentional* bugs.  So far we have the
aliasing/registerization bug in optimization, that long long is not
treated as an integer type, and that ?: doesn't work for non-integer
types.

Are there more of these cute litlle intentional bugs? 

Thomas


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
  2002-03-14 19:43 Russ Cox
@ 2002-03-14 19:49 ` Martin Harriss
  2002-03-15 10:18 ` Thomas Bushnell, BSG
  2002-03-15 10:19 ` Douglas A. Gwyn
  2 siblings, 0 replies; 15+ messages in thread
From: Martin Harriss @ 2002-03-14 19:49 UTC (permalink / raw)
  To: 9fans

Russ Cox wrote:
> 
> 8c et al. don't do ? : for non-integer types,
> and long long is a non-integer type (meaning
> it's synthesized from multiple machine words).
> Ken said the amount of work wasn't worth it.
> 
> Russ

But it doesn't do the comma operator for long longs either.  I found
that quite annoying when trying to port something to Plan 9.  Surely
that would not be so hard?

In any event, I agree that the error message makes it look like there's
a bug.

Martin


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Is this a bug in 8c?
@ 2002-03-14 19:43 Russ Cox
  2002-03-14 19:49 ` Martin Harriss
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Russ Cox @ 2002-03-14 19:43 UTC (permalink / raw)
  To: 9fans

8c et al. don't do ? : for non-integer types,
and long long is a non-integer type (meaning
it's synthesized from multiple machine words).
Ken said the amount of work wasn't worth it.

Russ



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [9fans] Is this a bug in 8c?
@ 2002-03-14 19:20 bwc
  0 siblings, 0 replies; 15+ messages in thread
From: bwc @ 2002-03-14 19:20 UTC (permalink / raw)
  To: 9fans

Is there a bug in 8c compiling the following?

main(void) {
	long long a, b, c, d;

	getval(&a, &b, &c, &d);
	a = b + c > d ? d - b : c;
}

gives

/usr/bwc/bug.c:4 function args not checked: getval
/usr/bwc/bug.c:5 unknown vlong LIST
/usr/bwc/bug.c:5 unknown vlong COND
8c 6915:error


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2002-03-15 17:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-15 11:52 [9fans] Is this a bug in 8c? forsyth
2002-03-15 16:53 ` Thomas Bushnell, BSG
2002-03-15 17:53   ` William Josephson
  -- strict thread matches above, loose matches on Subject: below --
2002-03-15 16:41 Fco.J.Ballesteros
2002-03-15 14:43 bwc
2002-03-15 14:11 Russ Cox
2002-03-15 14:08 Russ Cox
2002-03-15 13:51 rob pike
2002-03-15 17:26 ` Thomas Bushnell, BSG
2002-03-15 11:52 forsyth
2002-03-14 19:43 Russ Cox
2002-03-14 19:49 ` Martin Harriss
2002-03-15 10:18 ` Thomas Bushnell, BSG
2002-03-15 10:19 ` Douglas A. Gwyn
2002-03-14 19:20 bwc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).