https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95139
Bug ID: 95139 Summary: Messages using string concatenation can not be translated Product: gcc Version: 10.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: goeran at uddeborg dot se Target Milestone: --- In pru-pragma.c, in the function pru_pragma_ctable_entry, there are two error messages created by concatenating string literals, where some of the literals are preprocessor definitions. This unfortunately fails when the messages are to be extracted for translation. Only the literals up to the first such preprocessor symbol will be included in the message catalog, but that will never be looked up. else if (i >= ARRAY_SIZE (pru_ctable)) error ("%<CTABLE_ENTRY%> index %" HOST_WIDE_INT_PRINT "d" " is not valid", i); else if (pru_ctable[i].valid && pru_ctable[i].base != base) error ("redefinition of %<CTABLE_ENTRY " "%" HOST_WIDE_INT_PRINT "d%>", i); Only "%<CTABLE_ENTRY%> index %" and "redefinition of %<CTABLE_ENTRY %" are extracted for translation. https://gcc.gnu.org/git?p=gcc.git;a=blob;f=gcc/config/pru/pru-pragma.c;h=5d6cc49b71494c0a224491be40247c50a5e2cd63;hb=HEAD#l60