warning: embedding a directive within macro arguments has undefined
behavior [-Wembedded-directive]