From: Linus Torvalds <torvalds@transmeta.com>
To: mark@codesourcery.com
Cc: craig@jcb-sc.com, davem@redhat.com, chip@perlsupport.com,
egcs@egcs.cygnus.com
Subject: Re: Linux and aliasing?
Date: Wed, 30 Jun 1999 15:43:00 -0000 [thread overview]
Message-ID: <Pine.LNX.3.95.990603235147.3026A-100000@penguin.transmeta.com> (raw)
Message-ID: <19990630154300.Zx3vozV--PbwCHfQ-ISvgv4fKazWCzLnT4fZepzsQL4@z> (raw)
In-Reply-To: <19990603234839L.mitchell@codesourcery.com>
On Thu, 3 Jun 1999 mark@codesourcery.com wrote:
>
> I don't think the cast rule is by any means the right obvious default.
> For one thing, it pessimizes object-oriented C code that does
> downcasts through an inheritance hierarchy. There's no reason that we
> shouldn't be able to use type-based alias analysis in such situations,
> but your proposal would make it not happen.
But those downcasts are implicit, not explicit, no? I think only explicit
casts should break the alias rule.
> You can use -fno-strict-aliasing to get the "traditional" behavior.
Yes. But that's a complete on-off switch.
> The only affect on your code will be that some optimizations that used
> not to happen, but would with -fstrict-aliasing, will still not
> happen. What's the big deal? If -fstrict-aliasing had never been
> implemented, you wouldn't be complaining would you? So, we've
> improved GCC, and we've preserved the old behavior.
Oh, you don't expect me to complain about bad code generation when I know
gcc could do better?
Why do you have a "-O" flag at all if you think people don't care about
performance?
I'd love to have the alias extensions, but I don't think it should be a
per-file global setting. Sure, I can just be silent, but if you expect all
egcs users to just sit idly when you do silly things, why do you bother
making pre-releases available at all? You obviously don't care about the
feedback you get from real users.
> But, here, you just don't like ANSI/ISO C, and wish it had different
> semantics. You *could* express what you want in legal ANSI/ISO C, and
> then GCC would do the right thing, with its default flags.
Have you actually ever tried? I don't think you realize quite what a
rat-hole it is. It's not worth ANYBODYS time.
Sure, I can live with -fno-strict-aliasing. But I'm also really saddened
by all the lawyers like you who think that standards are somehow more
important than programmers.
I can see technical arguments. An argument of "it's really too painful to
do" I can understand (preferably with an explanation, but hey, I don't
mind getting told that it's too hard to explain). I use that argument
every day myself.
I think it's a damn shame that instead of technical arguments _everything_
revolves around people reading the standard as if it was the bible, and
trying to make people feel guilty for not really caring. It's not a sin to
just want to get good code without having to do magic contortions, guys.
Linus
next prev parent reply other threads:[~1999-06-30 15:43 UTC|newest]
Thread overview: 218+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-06-03 10:23 Chip Salzenberg
1999-06-03 10:37 ` mark
1999-06-03 11:26 ` David S. Miller
1999-06-03 12:03 ` mark
1999-06-03 12:25 ` David S. Miller
1999-06-03 20:06 ` craig
1999-06-03 23:03 ` Linus Torvalds
1999-06-03 23:45 ` mark
1999-06-04 0:04 ` Linus Torvalds [this message]
1999-06-04 1:08 ` Branko Cibej
1999-06-30 15:43 ` Branko Cibej
1999-06-04 1:24 ` Joe Buck
1999-06-04 1:50 ` Linus Torvalds
1999-06-04 5:46 ` craig
1999-06-04 7:22 ` burley (was Re: Linux and aliasing?) Mark Hahn
1999-06-04 8:16 ` craig
1999-06-30 15:43 ` craig
1999-06-30 15:43 ` Mark Hahn
1999-06-04 8:35 ` Linux and aliasing? Linus Torvalds
1999-06-04 10:04 ` Joe Buck
1999-06-04 10:22 ` Jeffrey A Law
1999-06-04 10:31 ` Joe Buck
1999-06-04 10:53 ` Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Joe Buck
1999-07-11 10:55 ` Jeffrey A Law
1999-07-31 23:33 ` Jeffrey A Law
1999-06-04 11:11 ` Toon Moene
1999-06-04 12:20 ` Jeffrey A Law
1999-06-05 5:45 ` Toon Moene
1999-06-05 6:23 ` Andi Kleen
1999-06-05 10:32 ` Toon Moene
1999-06-05 13:26 ` Jamie Lokier
1999-06-05 19:35 ` Linus Torvalds
1999-06-06 1:18 ` Martin v. Loewis
1999-06-06 10:46 ` Linus Torvalds
1999-06-30 15:43 ` Linus Torvalds
1999-06-06 17:56 ` Jason Merrill
1999-06-06 19:24 ` Tim Hollebeek
1999-06-30 15:43 ` Tim Hollebeek
1999-06-06 22:23 ` Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
[not found] ` <199906070645.IAA00615@mira.isdn.cs.tu-berlin.de>
1999-06-07 2:14 ` Jason Merrill
1999-06-07 8:02 ` mark
1999-06-07 8:41 ` David S. Miller
1999-06-07 9:24 ` Jeffrey A Law
1999-06-07 9:29 ` David S. Miller
1999-06-30 15:43 ` David S. Miller
1999-06-30 15:43 ` Jeffrey A Law
1999-06-07 9:32 ` Joe Buck
1999-06-30 15:43 ` Joe Buck
1999-06-30 15:43 ` David S. Miller
1999-06-30 15:43 ` mark
1999-06-07 13:11 ` Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Jason Merrill
1999-06-30 15:43 ` Jason Merrill
1999-06-30 15:43 ` Martin v. Loewis
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Jamie Lokier
1999-06-05 18:48 ` Linus Torvalds
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Toon Moene
1999-06-05 10:37 ` mark
1999-06-05 11:09 ` David S. Miller
1999-06-05 12:11 ` Toon Moene
1999-06-05 12:21 ` David S. Miller
1999-06-05 16:51 ` mark
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` David S. Miller
1999-06-30 15:43 ` Toon Moene
1999-06-07 6:01 ` Joern Rennecke
1999-06-30 15:43 ` Joern Rennecke
1999-06-30 15:43 ` David S. Miller
1999-06-05 11:35 ` Andi Kleen
1999-06-30 15:43 ` Andi Kleen
1999-06-05 12:41 ` Jamie Lokier
1999-06-05 14:43 ` Martin v. Loewis
1999-06-30 15:43 ` Martin v. Loewis
1999-06-05 16:53 ` mark
1999-06-07 2:36 ` Jamie Lokier
1999-06-07 8:04 ` mark
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Jamie Lokier
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Jamie Lokier
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Andi Kleen
1999-06-06 23:12 ` f77 vs type based alias analysis Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-06 23:20 ` Linux and aliasing? Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Toon Moene
1999-06-30 15:43 ` Jeffrey A Law
1999-06-05 4:05 ` Andi Kleen
1999-06-30 15:43 ` Andi Kleen
1999-06-30 15:43 ` Toon Moene
1999-06-30 15:43 ` Jeffrey A Law
1999-06-04 11:49 ` Linus Torvalds
1999-06-04 13:03 ` Gabriel Dos_Reis
1999-06-04 13:13 ` Joe Buck
1999-06-30 15:43 ` Joe Buck
1999-06-30 15:43 ` Gabriel Dos_Reis
1999-06-30 15:43 ` Linus Torvalds
1999-06-04 12:59 ` Alexandre Oliva
1999-06-04 13:29 ` Joe Buck
1999-06-04 13:39 ` Alexandre Oliva
1999-06-30 15:43 ` Alexandre Oliva
1999-06-30 15:43 ` Joe Buck
1999-06-30 15:43 ` Alexandre Oliva
1999-06-30 15:43 ` Joe Buck
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` craig
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Joe Buck
1999-06-04 5:47 ` craig
1999-06-30 15:43 ` craig
1999-06-04 7:11 ` mark
1999-06-04 8:38 ` Linus Torvalds
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` mark
1999-06-04 8:41 ` Tim Hollebeek
1999-06-04 8:53 ` Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Tim Hollebeek
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` mark
1999-06-04 5:47 ` craig
1999-06-04 8:17 ` Linus Torvalds
1999-06-04 8:49 ` craig
1999-06-04 8:57 ` Linus Torvalds
1999-06-04 9:02 ` Jean-Pierre Radley
1999-06-30 15:43 ` Jean-Pierre Radley
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` craig
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` craig
1999-06-04 8:39 ` Tim Hollebeek
1999-06-04 8:55 ` Linus Torvalds
1999-06-04 15:20 ` Richard Henderson
1999-06-05 9:50 ` Linus Torvalds
1999-06-05 11:00 ` mark
1999-06-06 10:30 ` Linus Torvalds
1999-06-06 10:44 ` mark
1999-06-06 14:17 ` Linus Torvalds
1999-06-06 17:41 ` mark
1999-06-07 8:58 ` Linus Torvalds
1999-06-07 9:18 ` mark
1999-06-07 9:29 ` Linus Torvalds
1999-06-07 9:38 ` Tim Hollebeek
1999-06-07 10:05 ` Jamie Lokier
1999-06-30 15:43 ` Jamie Lokier
1999-06-07 10:44 ` Linus Torvalds
1999-06-07 11:22 ` Jeffrey A Law
1999-06-08 1:34 ` Nick Ing-Simmons
1999-06-08 1:48 ` Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Nick Ing-Simmons
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Tim Hollebeek
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` mark
1999-06-07 13:34 ` Jamie Lokier
1999-06-30 15:43 ` Jamie Lokier
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Richard Henderson
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Tim Hollebeek
1999-06-04 15:02 ` Richard Henderson
1999-06-04 16:50 ` Bernd Schmidt
1999-06-30 15:43 ` Bernd Schmidt
1999-06-05 9:35 ` Linus Torvalds
1999-06-05 13:34 ` Richard Henderson
1999-06-05 18:40 ` Linus Torvalds
1999-06-30 15:43 ` Linus Torvalds
1999-06-05 21:38 ` Jakub Jelinek
1999-06-30 15:43 ` Jakub Jelinek
1999-06-30 15:43 ` Richard Henderson
1999-06-30 15:43 ` Linus Torvalds
1999-06-30 15:43 ` Richard Henderson
1999-06-30 15:43 ` Linus Torvalds
1999-06-03 23:53 ` Martin v. Loewis
1999-06-30 15:43 ` Martin v. Loewis
[not found] ` <v04205101b37d700fbf8d@[192.168.1.254]>
1999-06-04 7:01 ` craig
1999-06-30 15:43 ` craig
1999-06-30 15:43 ` craig
1999-06-30 15:43 ` David S. Miller
1999-06-03 13:31 ` Andi Kleen
1999-06-30 15:43 ` Andi Kleen
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` David S. Miller
1999-06-03 12:02 ` Andi Kleen
1999-06-03 15:38 ` Martin v. Loewis
1999-06-30 15:43 ` Martin v. Loewis
1999-06-30 15:43 ` Andi Kleen
1999-06-30 15:43 ` mark
1999-06-30 15:43 ` Chip Salzenberg
1999-06-04 11:54 Mike Stump
1999-06-04 12:13 ` Jeffrey A Law
1999-06-04 13:25 ` Sylvain Pion
1999-06-04 13:32 ` Jeffrey A Law
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Sylvain Pion
1999-06-30 15:43 ` Jeffrey A Law
1999-06-30 15:43 ` Mike Stump
1999-06-06 15:08 Ross Harvey
1999-06-06 15:46 ` Linus Torvalds
1999-06-30 15:43 ` Linus Torvalds
1999-06-06 17:29 ` David S. Miller
1999-06-30 15:43 ` David S. Miller
1999-06-30 15:43 ` Ross Harvey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.3.95.990603235147.3026A-100000@penguin.transmeta.com \
--to=torvalds@transmeta.com \
--cc=chip@perlsupport.com \
--cc=craig@jcb-sc.com \
--cc=davem@redhat.com \
--cc=egcs@egcs.cygnus.com \
--cc=mark@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).