On Fri, Apr 19, 2019 at 11:28:41AM +0200, Christophe Lyon wrote:
> > >> > --- a/contrib/check-internal-format-escaping.py
> > >> > +++ b/contrib/check-internal-format-escaping.py
> > >> > @@ -58,6 +58,10 @@ for i, l in enumerate(lines):
> > >> >                          print('%s: %s' % (origin, text))
> > >> >                      if re.search("[^%]'", p):
> > >> >                          print('%s: %s' % (origin, text))
> > >> > +                    # %< should not be preceded by a non-punctuation
> > >> > +                    # %character.
> > >> > +                    if re.search("[a-zA-Z0-9]%<", p):
> > >> > +                        print('%s: %s' % (origin, text))
> > >> >              j += 1

I'm not convinced we want this in check-internal-format-escaping.py
exactly because it is too fragile.
Instead, we want what David Malcolm has proposed, for GCC 10 some
-Wformat-something (non-default) style warning or even a warning for
all string literals when there is
"str "
" str2"
or
"str"
"str2"
Basically require if there is a line break between two concatenated string
literals that there is a single space, either at the end of one chunk or
at the beginning of the other one.

        Jakub

Reply via email to