On Wed, Oct 25, 2017 at 7:20 AM, Nathan Sidwell <nat...@acm.org> wrote: > On 10/25/2017 12:03 AM, Mukesh Kapoor wrote: > >> Thanks for pointing this out. Checking in the front end will be difficult >> because the front end gets tokens after macro expansion. I think the >> difficulty of fixing this bug comes because of the requirement to maintain >> backward compatibility with the option -Wliteral-suffix for -std=c++11. > > > IIUC the warning's intent is to catch cases of: > printf ("some format"PRIx64 ..., ...); > where there's no space between the string literals and the PRIx64 macro. I > suspect it's very common for there to be a following string-literal, so > perhaps the preprocessor could detect: > > <string-literal>NON-FN-MACRO<maybe-space><string-literal> > > and warn on that sequence?
Or perhaps we could limit the current behavior to when the macro expands to a string literal? Jason