Как вижу никто не пробовал как написано.

Как интерпретируется ето совсем ясно.
Баг в то что после первой компиляции проект вообще не может компилится. Можно и убрат потом
#define Y X+1
#define X Y
#if X != 6
#error
#endif
но уже проект не компилируется

.