http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58362
--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Paolo Carlini from comment #4) > The damage happens at error.c:3435. Yes, location_of replaces the declaration of the argument with that of the function :-( > Should we just use "%qD", no '+' ? I don't think I ever understood what '+' meant, or found the relevant doc. But the comment in front of location_of seems to agree with your solution. And indeed it works.