Christophe Lyon <christophe.l...@linaro.org> writes: > Hi, > > This patch adds the missing space before '%<' in > config/aarch64/aarch64.c and gcc/cp/call.c. It also updates the > check-internal-format-escaping.py checker to warn about such cases. > > OK? > > Christophe > > diff --git a/contrib/check-internal-format-escaping.py > b/contrib/check-internal-format-escaping.py > index aac4f9e..9c62586 100755 > --- 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 > > origin = None > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > index 9be7548..b66071f 100644 > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -11483,7 +11483,7 @@ aarch64_override_options_internal (struct gcc_options > *opts) > if (aarch64_stack_protector_guard == SSP_GLOBAL > && opts->x_aarch64_stack_protector_guard_offset_str) > { > - error ("incompatible options %<-mstack-protector-guard=global%> and" > + error ("incompatible options %<-mstack-protector-guard=global%> and " > "%<-mstack-protector-guard-offset=%s%>", > aarch64_stack_protector_guard_offset_str); > } > diff --git a/gcc/cp/call.c b/gcc/cp/call.c > index 9582345..8f3d019 100644 > --- a/gcc/cp/call.c > +++ b/gcc/cp/call.c > @@ -3614,16 +3614,16 @@ print_z_candidate (location_t loc, const char *msgstr, > { > cloc = loc; > if (candidate->num_convs == 3) > - inform (cloc, "%s%<%D(%T, %T, %T)%> <built-in>", msg, fn, > + inform (cloc, "%s %<%D(%T, %T, %T)%> <built-in>", msg, fn, > candidate->convs[0]->type, > candidate->convs[1]->type, > candidate->convs[2]->type); > else if (candidate->num_convs == 2) > - inform (cloc, "%s%<%D(%T, %T)%> <built-in>", msg, fn, > + inform (cloc, "%s %<%D(%T, %T)%> <built-in>", msg, fn, > candidate->convs[0]->type, > candidate->convs[1]->type); > else > - inform (cloc, "%s%<%D(%T)%> <built-in>", msg, fn, > + inform (cloc, "%s %<%D(%T)%> <built-in>", msg, fn, > candidate->convs[0]->type); > } > else if (TYPE_P (fn))
I don't think this is right, since msg already has a space where necessary: const char *msg = (msgstr == NULL ? "" : ACONCAT ((msgstr, " ", NULL))); Adding something like "(^| )[^% ]*" to the start of the regexp might avoid that, at the risk of letting through real problems. The aarch64.c change is definitely OK though, thanks for the catch. Richard