From: patl@cag.lcs.mit.edu (Patrick J. LoPresti)
To: mark@codesourcery.com, gcc@gcc.cygnus.com
Subject: __typealias qualifier (was Re: type based aliasing again)
Date: Thu, 30 Sep 1999 18:02:00 -0000 [thread overview]
Message-ID: <s5g4sgtbpja.fsf_-_@egghead.curl.com> (raw)
Message-ID: <19990930180200.oXsIoxI6AAsPxiqx14Dtsoa2czzAjO4z0C2GnuJiwcw@z> (raw)
In-Reply-To: <19990916122341J.mitchell@codesourcery.com>
>>>>> "mark" == Mark Mitchell <mark@codesourcery.com> writes:
mark> I'm not convinced we need to provide a "have your cake and eat
mark> it too" mode where you can get the benefits of the optimization
mark> without having conforming code. Even if you go to the troule
mark> of adding some extra type-qualifiers, attributes, etc.,
mark> somewhere.
Are you prepared to be convinced, or have you already made up your
mind?
mark> Especially now that people are providing implementations of
mark> helpful warnings, it seems fair to say "use
mark> -fno-strict-aliasing (either because that's the default, or
mark> otherwise) or else write conforming code".
At least a few users (e.g., Linus) disagree with you. The code where
`__typealias' is most useful is precisely the most
performance-critical, where the programmer wants to get at memory as
raw bytes. On a modern machine, you do this with int *, not char *.
mark> Historically, most of our language extensions have proven
mark> ill-specified, to have slightly odd behavior, to significantly
mark> complicate the compiler, etc.
I would prefer for the `__typealias' proposal to be judged on its own
merits, not on its ethnic group.
Of course, history is a useful guide. I agree that this extension
needs be well-specified, have well-thought-out behavior, and to have a
benefit which is worth the maintenance cost. So let's discuss these!
mark> I'm not commenting on any specific proposal, but it's very,
mark> very hard to get new language features right. There tends to
mark> be a huge maintenance cost.
But we *have* a specific proposal, with a precise spec, a prototype
implementation, and a fair rationale. Why not debate that proposal,
instead of resorting to general arguments?
mark> IMO, the last thing we want to do is to make GNU C a dialect
mark> even more divergent from ANSI/ISO C.
This argues against any new extension whatsoever. If this is the only
argument against `__typealias' and it turns out to be suffient, you
should probably document somewhere that no new GCC extensions will
ever be accepted. It would save people's time.
- Pat
next prev parent reply other threads:[~1999-09-30 18:02 UTC|newest]
Thread overview: 210+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-09-08 19:13 type based aliasing again Mike Stump
1999-09-08 19:31 ` Joe Buck
1999-09-30 18:02 ` Joe Buck
1999-09-09 7:12 ` Marc Espie
1999-09-09 20:35 ` Jeffrey A Law
1999-09-10 12:29 ` Sudish Joseph
1999-09-30 18:02 ` Sudish Joseph
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Marc Espie
1999-09-09 23:25 ` Richard Stallman
1999-09-08 18:11 ` Joe Buck
1999-09-08 18:43 ` Mark Mitchell
1999-09-08 19:25 ` Joe Buck
1999-09-08 19:51 ` David Edelsohn
1999-09-30 18:02 ` David Edelsohn
1999-09-30 18:02 ` Joe Buck
1999-09-08 19:44 ` Joe Buck
1999-09-08 20:26 ` Mark Mitchell
1999-09-08 20:43 ` Joe Buck
1999-09-08 21:45 ` Mark Mitchell
1999-09-08 22:04 ` Joe Buck
1999-09-08 22:25 ` Mark Mitchell
1999-09-30 18:02 ` Mark Mitchell
1999-09-09 2:08 ` Jeffrey A Law
1999-09-09 10:51 ` Joe Buck
1999-09-09 16:51 ` John Vickers
1999-09-09 17:04 ` Joe Buck
1999-09-09 17:12 ` John Vickers
1999-09-30 18:02 ` John Vickers
1999-09-30 18:02 ` Joe Buck
1999-09-30 18:02 ` John Vickers
1999-09-15 2:07 ` Jeffrey A Law
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Joe Buck
1999-09-09 23:26 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-09 23:26 ` Richard Stallman
1999-09-09 23:38 ` Jeffrey A Law
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Jeffrey A Law
1999-09-09 23:25 ` Richard Stallman
1999-09-10 0:06 ` Mark Mitchell
1999-09-10 0:13 ` Joe Buck
1999-09-30 18:02 ` Joe Buck
1999-09-11 0:17 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Mark Mitchell
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Joe Buck
1999-09-08 23:20 ` Richard Henderson
1999-09-08 23:41 ` Mark Mitchell
1999-09-08 23:44 ` Richard Henderson
1999-09-08 23:51 ` Mark Mitchell
1999-09-30 18:02 ` Mark Mitchell
1999-09-09 2:45 ` Jeffrey A Law
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Richard Henderson
1999-09-30 18:02 ` Mark Mitchell
1999-09-30 18:02 ` Richard Henderson
1999-09-30 18:02 ` Mark Mitchell
1999-09-30 18:02 ` Joe Buck
1999-09-08 21:33 ` Joe Buck
1999-09-08 21:56 ` Mark Mitchell
1999-09-30 18:02 ` Mark Mitchell
1999-09-09 1:38 ` Martin v. Loewis
1999-09-30 18:02 ` Martin v. Loewis
1999-09-09 23:25 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Joe Buck
1999-09-09 2:20 ` Jeffrey A Law
1999-09-09 7:58 ` craig
1999-09-09 10:36 ` Joe Buck
1999-09-09 10:55 ` Mark Mitchell
1999-09-11 0:15 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Mark Mitchell
1999-09-09 11:51 ` craig
1999-09-09 12:45 ` Joe Buck
1999-09-30 18:02 ` Joe Buck
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Joe Buck
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Jeffrey A Law
1999-09-09 23:26 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Mark Mitchell
1999-09-30 18:02 ` Joe Buck
1999-09-09 23:25 ` Richard Stallman
1999-09-10 0:03 ` Mark Mitchell
1999-09-10 0:23 ` Joe Buck
1999-09-11 0:17 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Joe Buck
1999-09-11 0:17 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Mark Mitchell
1999-09-10 14:29 ` Marc Lehmann
1999-09-30 18:02 ` Marc Lehmann
1999-09-15 2:05 ` Jeffrey A Law
1999-09-15 7:55 ` Nick Ing-Simmons
1999-09-30 18:02 ` Nick Ing-Simmons
1999-09-15 23:14 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Mark Mitchell
1999-09-08 20:44 ` Joe Buck
1999-09-30 18:02 ` Joe Buck
1999-09-14 3:04 ` Alexandre Oliva
1999-09-14 5:34 ` Bernd Schmidt
1999-09-14 5:45 ` Alexandre Oliva
1999-09-14 5:52 ` Bernd Schmidt
1999-09-30 18:02 ` Bernd Schmidt
1999-09-21 1:16 ` Rask Ingemann Lambertsen
1999-09-21 2:02 ` Jamie Lokier
1999-09-30 18:02 ` Jamie Lokier
1999-09-30 18:02 ` Rask Ingemann Lambertsen
1999-09-30 18:02 ` Alexandre Oliva
1999-09-14 9:31 ` Andi Kleen
1999-09-30 18:02 ` Andi Kleen
1999-09-30 18:02 ` Bernd Schmidt
1999-09-14 22:22 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Alexandre Oliva
1999-09-30 18:02 ` Joe Buck
1999-09-10 0:11 ` Joe Buck
1999-09-10 8:43 ` craig
1999-09-10 18:25 ` Jonathan Larmour
1999-09-11 3:50 ` craig
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Jonathan Larmour
1999-09-11 0:15 ` Richard Stallman
1999-09-11 3:51 ` craig
1999-09-12 0:51 ` Richard Stallman
1999-09-12 8:54 ` craig
1999-09-13 0:47 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` craig
1999-09-11 0:14 ` Richard Stallman
1999-09-11 15:20 ` Mark Mitchell
1999-09-11 18:04 ` David Edelsohn
1999-09-11 18:20 ` Mark Mitchell
1999-09-11 23:40 ` Sudish Joseph
1999-09-30 18:02 ` Sudish Joseph
1999-09-12 8:16 ` Robert Lipe
1999-09-30 18:02 ` Robert Lipe
1999-09-30 18:02 ` Mark Mitchell
1999-09-13 0:47 ` Richard Stallman
1999-09-15 2:06 ` Jeffrey A Law
1999-09-15 8:02 ` Nick Ing-Simmons
1999-09-15 9:20 ` Jeffrey A Law
1999-09-15 9:31 ` David Edelsohn
1999-09-15 10:02 ` craig
1999-09-16 23:13 ` Richard Stallman
1999-09-17 1:51 ` craig
1999-09-17 22:16 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` David Edelsohn
1999-09-15 9:56 ` Nick Ing-Simmons
1999-09-15 10:08 ` craig
1999-09-15 10:48 ` Nick Ing-Simmons
1999-09-15 14:32 ` craig
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Nick Ing-Simmons
1999-09-16 10:54 ` Andi Kleen
1999-09-16 12:08 ` Joern Rennecke
1999-09-16 12:18 ` Mark Mitchell
1999-09-17 7:07 ` patl [this message]
1999-09-17 8:32 ` __typealias qualifier (was Re: type based aliasing again) Mark Mitchell
1999-09-30 18:02 ` Mark Mitchell
1999-09-30 18:02 ` Patrick J. LoPresti
1999-09-30 18:02 ` type based aliasing again Mark Mitchell
1999-09-30 18:02 ` Joern Rennecke
1999-09-16 14:29 ` craig
1999-09-16 22:19 ` Andi Kleen
1999-09-30 18:02 ` Andi Kleen
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Andi Kleen
1999-09-16 23:13 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` craig
1999-09-30 18:02 ` Nick Ing-Simmons
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Nick Ing-Simmons
1999-09-15 23:14 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` David Edelsohn
1999-09-12 9:45 ` Jonathan Larmour
1999-09-30 18:02 ` Jonathan Larmour
1999-09-13 0:47 ` Richard Stallman
1999-09-30 18:02 ` Richard Stallman
1999-09-13 4:05 ` Richard Earnshaw
1999-09-15 2:05 ` Jeffrey A Law
1999-09-30 18:02 ` Jeffrey A Law
1999-09-30 18:02 ` Richard Earnshaw
1999-09-30 18:02 ` Mark Mitchell
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Joe Buck
1999-09-30 18:02 ` Richard Stallman
1999-09-30 18:02 ` Mike Stump
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=s5g4sgtbpja.fsf_-_@egghead.curl.com \
--to=patl@cag.lcs.mit.edu \
--cc=gcc@gcc.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).