Скорее всего, вы получите, по крайней мере, предупреждение о нераспознанной директиве от компиляторов, которые не распознают #warning, даже если блок кода не включен в вашу компиляцию. Это может или не может рассматриваться как ошибка - компилятор может на законных основаниях рассматривать ее как ошибку, но многие из них будут более слабыми.
Вам известен (можно назвать) компилятор, отличный от GCC / G ++, который предоставляет #warning?
[ Отредактировано: Компиляторы Sun Solaris 10 (Sparc) и Studio 11 C / C ++ допускают #warning.]