How does this interact with translation? My expectation would be that in user code, the message is taken literally as-is; it is not looked up in the GCC message catalog even if it is identical to some GCC diagnostic. However, when used internally for GCC diagnostics, they should be translated, meaning the translation for GCC diagnostics using this mechanism should occur before the built-in call is stored in the IR.
I note the patch has > + return gimple_build_warning (stmt, OPT_Wnonnull, > + "operand null where non-null expected"); with the message not being marked for extraction for translation. -- Joseph S. Myers jos...@codesourcery.com