@fail(x) aborts the xcpp preprocessor displaying an error message obtained by macro expanding x then evaluating as an expression that must be implicit convertible to a string.