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?

-- >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

Reply via email to