Question on #ifdef directive

I've believed I've used the following construct before in other compilers without warning. Shouldn't this be valid in the Arduino 1.6.9 preprocessor?

#ifdef OPTION1 || OPTION2

// stuff here

#endif

The above throws the following warning:

"warning: extra tokens at end of #ifdef directive"

#if defined(OPTION1) || defined(OPTION2)

thanks thomai for the information. Did the simple || ever work in older compilers?
I seem to remember in the dim past being able to use just the #ifdef with the ||.

if OPTION1 and OPTION2 are expressions that the preprocessor can evaluate to true or false, then you could write:

#if OPTION1 || OPTION2