Conditional compilation inside asm and enum declarations
Lutger
lutger.blijdestijn at gmail.com
Wed Jul 15 11:29:07 PDT 2009
grauzone wrote:
> Walter Bright wrote:
>> Bill Baxter wrote:
>>> On Tue, Jul 14, 2009 at 5:13 PM, Walter
>>> Bright<newshound1 at digitalmars.com> wrote:
>>>> Why do C and C++ (and D) make it difficult to do:
>>>>
>>>> char *p;
>>>> p |= 1;
>>>>
>>>> ? There's no implementation difficulty in accepting such and generating
>>>> correct code for it. It's purely a matter of making what is generally
>>>> considered to be bad practice harder to do. I've never heard anyone
>>>> argue
>>>> that this was a bad decision.
>>>
>>> I've never ever needed to do that, or been the slightest bit tempted
>>> to. The operation doesn't make sense. So I think the analogy is
>>> inappropos.
>
> Often I wanted to write p &= ~3 in low level code. And that does make
> sense, because it aligns the pointer.
>
>> The #ifndef NO_DEBUGGING is awful. The #ifndef __GNUC__ means compile
>> for every unknown compiler ever, except gcc. Can't possibly be right.
>
> The #ifndef NO_DEBUGGING causes the code to be compiled in debugging
> mode, if it isn't explicitly deactivated. This is a good thing. I think
> dmd should compile in debug mode too, and force the user to pass
> -nodebug to disable it.
So that reads as:
if not not actived then if not defined no debugging then do stuff
nice!
More information about the Digitalmars-d
mailing list