public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Kevin Lawton <kevinlawton2001@yahoo.com>
To: Jamie Lokier <egcs@tantalophile.demon.co.uk>,
	Michael Matz <matz@suse.de>
Cc: gcc@gcc.gnu.org
Subject: Re: Request of new __attribute__ for switch statements (elimination of the bounds check)
Date: Tue, 15 Oct 2002 14:06:00 -0000	[thread overview]
Message-ID: <20021015201332.21851.qmail@web80311.mail.yahoo.com> (raw)
In-Reply-To: <20021015200247.GA31811@bjl1.asuk.net>

For the most efficient solution here, if one could
narrow down to being compiled only on GCC, I'd use
computed gotos.  This gets rid of the limit check altogether
and let's me calculate the branch address as early as
possible to optimize the CPU's speculation.  The compiler
may be able to do some of this however.

But the real issue is in trying to play nice with non-GCC
compilers.  If whatever solution implemented, requires
anything extensions other than something that can
disappear easily with a macro (like the __attribute__ directives
can), then nothing has been solved.

The __attibute_ angle is simple, I can exactly tell the
compiler when I care to have it applied (maybe only one
case in all the code), and it disappears quickly with
an #ifdef'd macro.  Which makes it play nice with "other"
compilers.

-Kevin

--- Jamie Lokier <egcs@tantalophile.demon.co.uk> wrote:
> Michael Matz wrote:
> > On Tue, 15 Oct 2002, Jamie Lokier wrote:
> > > [... strict enum proposal ...]
> > >
> > > (It would be appropriate to add a warning when an enum with this
> > > attribute is converted to an integer).
> > 
> > That's not the problematic direction.  I can't see why converting such an
> > enum to an integer would be dangerous.  But converting _to_ such an enum
> > should get a warning.
> 
> Good point.  (I was thinking of enum arithmetic like `CAT | DOG' being
> disallowed for strict enums -- I believe that is defined for standard enums).
> 
> -- Jamie


__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com

  reply	other threads:[~2002-10-15 20:13 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-11 13:20 Kevin Lawton
2002-10-12  4:18 ` Ralph Loader
2002-10-14  8:31 ` Richard Zidlicky
2002-10-14 10:09   ` Dale Johannesen
2002-10-14 21:11 ` Jamie Lokier
2002-10-14 22:01   ` Zack Weinberg
2002-10-15  8:12     ` Michael Matz
2002-10-15 19:15       ` Zack Weinberg
2002-10-15 19:18         ` Dale Johannesen
2002-10-16 14:07           ` Richard Henderson
2002-10-15 21:16         ` Kevin Lawton
2002-10-15 23:40           ` Tim Hollebeek
2002-10-16  3:40             ` Michael Matz
2002-10-16 13:38               ` Tim Hollebeek
2002-10-16 14:23                 ` Michael Matz
2002-10-16 13:27             ` Hartmut Schirmer
2002-10-16  3:25         ` Joseph S. Myers
2002-10-16  7:57           ` Fergus Henderson
2002-10-16 11:19           ` Daniel Jacobowitz
2002-10-15  7:54   ` Michael Matz
2002-10-15 13:29     ` Jamie Lokier
2002-10-15 14:06       ` Kevin Lawton [this message]
2002-10-15 15:32         ` Jamie Lokier
2002-10-15 14:28       ` Michael Matz
2002-10-15 15:19         ` Jamie Lokier
2002-10-11 13:22 Robert Dewar
2002-10-11 15:12 ` Kevin Lawton
2002-10-12 10:43   ` Alexandre Oliva
2002-10-15  6:43 Mattias Engdegård
2002-10-15 22:40 Robert Dewar
2002-10-15 23:57 ` Zack Weinberg
2002-10-16  9:19 Robert Dewar

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=20021015201332.21851.qmail@web80311.mail.yahoo.com \
    --to=kevinlawton2001@yahoo.com \
    --cc=egcs@tantalophile.demon.co.uk \
    --cc=gcc@gcc.gnu.org \
    --cc=matz@suse.de \
    /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).