This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Is it possible to generate unique goto labels with preprocessor?
- To: torger at ludd dot luth dot se
- Subject: Is it possible to generate unique goto labels with preprocessor?
- From: Salim Nasser <salim at windriver dot com>
- Date: Wed, 16 May 2001 17:44:36 -0700 (PDT)
- Cc: gcc at gcc dot gnu dot org
- References: <01051702313301.05408@paganini>
> Is it possible with this way, or other, to generate unique goto labels with
> the preprocessor?
Actually it is, but you need a couple of levels of indirection:
#define __UNIQUE_LABEL(x) label ## x
#define _UNIQUE_LABEL(y) __UNIQUE_LABEL(y)
#define UNIQUE_LABEL _UNIQUE_LABEL(__LINE__)
I can't find a way to do it with fewer than three #defines ;)
---------------------------------------
Salim Nasser
Software Developer
Wind River Systems
300 Wind River Way, Alameda, CA
email: salim.nasser@windriver.com
---------------------------------------
Anders Torger writes:
>
> I'm making a hack which require a macro to generate goto labels (I can of
> course provide the label as an argument to the macro, but that significantly
> reduces the maintainability of the resulting code).
>
> My idea was to do like this:
>
> label ## __LINE__:
>
> but then I just get
>
> label__LINE__:
>
> after the preprocessor has done its work, and I would like to have
>
> label897:
>
> if the line number happened to be 897.
>
> Is it possible with this way, or other, to generate unique goto labels with
> the preprocessor?
>
> Please answer to me directly, since I'm currently not on the list.
>
> /Anders Torger
>