工場の機材とか相手にするとたまにあるんですよね。
#define static_assert(cond, msg) \
typedef int compile_time_assertion_[(cond) ? 1 : -1]
cond の評価結果が負になると三項演算子の : の次の式が採用されて、
typedef int compile_time_assertion_[-1];
と展開されて、-1 を配列のサイズに採用できないよ!というエラーになります。
(ただし、cond はコンパイル時定数である必要があります)
メッセージは出ません。