added compile-fail test for 15167
make macros hygienic