odd use of preprocessor

Alex Rønne Petersen xtzgzorex at gmail.com
Sun Nov 6 11:50:41 PST 2011


On 06-11-2011 20:43, Ellery Newcomer wrote:
> poking about in elfutils headers, I've come across the following idiom
> several times
>
> /* Error values.  */
> enum
>    {
>      DW_TAG_invalid = 0
> #define DW_TAG_invalid  DW_TAG_invalid
>    };
>
>
> anyone know if anything strange is going on here that would prevent
> trivial conversion to d?

The only thing I can think of is fully-qualified enums. The #define 
ensures that you _don't_ have to fully qualify DW_TAG_invalid. But why 
they would do this (considering C doesn't have this enum feature), I 
don't know.

- Alex


More information about the Digitalmars-d-learn mailing list