Junio C Hamano <gitster@xxxxxxxxx> writes: >> #define STR_(s) # s >> -#define STR(s) STR_(s) >> +#define STR(s) (STR_(s) + BUILD_ASSERT_OR_ZERO(s)) > > OOoooh. Clever. A pointer plus N indexes into an array, but if the > offset is N then the pointer is left intact so the caller does not Sorry, but s/N/0/ obviously. > see the difference. > >> ... But the >> BUILD_ASSERT doesn't seem too bad to me. > > Indeed.