On Sun, 25 Aug 2013, Gabriel Dos Reis wrote: > Instead of defining the same macro several times in different > translation units, we can just make it a function and use it where > needed.
Have you made sure that po/exgettext still extracts the relevant messages for translation (I'm not sure how good it is at identifying C++ functions with arguments called gmsgid, or how good xgettext then is at identifying relevant C++ function calls)? In particular, even if other cases get identified properly, conditional expressions such as > @@ -379,15 +375,15 @@ > switch (code) > { > case INTEGER_TYPE: > - pp_string (pp, (TYPE_UNSIGNED (t) > - ? M_("<unnamed-unsigned:") > - : M_("<unnamed-signed:"))); > + pp->translate_string (TYPE_UNSIGNED (t) > + ? "<unnamed-unsigned:" > + : "<unnamed-signed:"); may need each case of the conditional expression to be marked for extraction for translation, or to be separated into two separate calls using "if" (we've had that issue before with conditional expressions in diagnostics). -- Joseph S. Myers jos...@codesourcery.com