[Bug middle-end/47081] New: Macro usage too clever for localization

goeran at uddeborg dot se gcc-bugzilla@gcc.gnu.org
Tue Dec 28 19:19:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47081

           Summary: Macro usage too clever for localization
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: goeran@uddeborg.se


In gcc/gentype-state.c there is a macro like this:

#define fatal_reading_state_printf(Tok,Fmt,...) do {    \
...
      fatal ("%s:%d:%d: Invalid state file; " Fmt,    \

Normally, the first argument to fatal() is extracted for localization.  But
that extraction apparently fails here.  Each usage of the macro will create a
unique format string to fatal().  But the extractor for localization only
extracts the invariant part that is in the macro, "%s:%d:%d: Invalid state
file; ".  That will never be the string looked up for translation at run time. 
And the strings actually looked up are not available in the pot file.

Seen in the po file distributed for 4.6-b20101218.



More information about the Gcc-bugs mailing list