odd use of preprocessor
Alex Rønne Petersen
xtzgzorex at gmail.com
Mon Nov 7 02:54:45 PST 2011
On 06-11-2011 21:36, Ellery Newcomer wrote:
> On 11/06/2011 01:50 PM, Alex Rønne Petersen wrote:
>> 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
>
> nor c++, right?
Even C++0x requires you to use 'enum class' for this effect. I assume
this is to cope with <some random compiler>'s craziness. But I have no
idea, really.
- Alex
More information about the Digitalmars-d-learn
mailing list