]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
genpreds.cc: Do not use rawmemchr for insn_constraint_len
authorStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Tue, 22 Jul 2025 09:26:44 +0000 (11:26 +0200)
committerStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Tue, 22 Jul 2025 09:26:44 +0000 (11:26 +0200)
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

index c6a2983419af8d93b61111efefd1975f9146c3bb..4f8beeb05140a670ae30cc11a02ddd14cd8776fe 100644 (file)
@@ -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");
 }