On Mon, Jul 21, 2025 at 6:28 PM Stefan Schulze Frielinghaus <stefa...@gcc.gnu.org> wrote: > > Bootstrapped successfully on s390x and tests dg.exp=asm-hard-reg-\*.c > and s390.exp=asm-hard-reg-\*.c are successful, too. Ok for mainline?
OK. Richard. > -- >8 -- > > The GNU extension rawmemchr cannot be used. Therefore, replace it by a > simple loop. > > gcc/ChangeLog: > > * genpreds.cc (write_insn_constraint_len): Replace rawmemchr by > a loop. > --- > gcc/genpreds.cc | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/gcc/genpreds.cc b/gcc/genpreds.cc > index c6a2983419a..4f8beeb0514 100644 > --- a/gcc/genpreds.cc > +++ b/gcc/genpreds.cc > @@ -1184,7 +1184,12 @@ write_insn_constraint_len (void) > puts (" default: break;\n" > " }\n" > " if (str[0] == '{')\n" > - " return ((const char *) rawmemchr (str + 1, '}') - str) + 1;\n" > + " {\n" > + " size_t len = 1;\n" > + " while (str[len] != '}' && str[len] != '\\0')\n" > + " ++len;\n" > + " return len + 1;\n" > + " }\n" > " return 1;\n" > "}\n"); > } > -- > 2.49.0 >