C / gcc / underscore in "#define"s : I am testing (*with gcc version 4.9.2 / Linux no parameters*) two versions of the same code.

Both have a #define directive, followed by an #ifdef/#endif pair further down.

Now, it turns out that the combination works properly **only if the label after the initial #define starts with an underscore**. Without the underscore, it works.... in a very weird way, like every third time.

In other words,

    #define _whatever

works, while

    #define whatever

doesn't.

Even though I know how to make the directive work, just curious - does that behavior follow any standard?

Thanks.


