The preprocessing tokens within a preprocessing directive are not subject to macro expansion unless otherwise stated.
[Example 2: In:
#define EMPTY EMPTY # include <file.h>the sequence of preprocessing tokens on the second line is not a preprocessing directive, because it does not begin with a # at the start of translation phase 4, even though it will do so after the macro EMPTY has been replaced. — end example]