https://gcc.gnu.org/g:69df283ec02b039bc962c590565c39e20576ca07

commit r17-4146-g69df283ec02b039bc962c590565c39e20576ca07
Author: Andrea Pinski <[email protected]>
Date:   Thu Sep 10 12:38:56 2026 -0700

    genmatch: Fix gen_checking [PR127308]
    
    I accidently was comparing the id rather than identifier of the
    possible values.  This does not cause any issue currently as there
    was no use of CONVERT_EXPR/NOP_EXPR as one of the possible values.
    
    Pushed as obvious after bootstrap/test on x86_64-linux-gnu.
    
            PR middle-end/127308
    
    gcc/ChangeLog:
    
            * genmatch.cc (operator==): Move earlier.
            (c_code_id::gen_checking):  Correct the check for 
CONVERT_EXPR/NOP_EXPR.
    
    Signed-off-by: Andrea Pinski <[email protected]>

Diff:
---
 gcc/genmatch.cc | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc
index d5d5eb3dbe23..42a04436c57e 100644
--- a/gcc/genmatch.cc
+++ b/gcc/genmatch.cc
@@ -1184,6 +1184,18 @@ public:
   const char *tcc;
 };
 
+/* Helper for easy comparing ID with tree code CODE.  */
+
+static bool
+operator==(id_base &id, enum tree_code code)
+{
+  if (operator_id *oid = dyn_cast <operator_id *> (&id))
+    return oid->code == code;
+  return false;
+}
+
+/* Lookup the identifier ID.  Allow "null" if ALLOW_NULL.  */
+
 /* Identifier that maps to a builtin or internal function code.  */
 
 class fn_id : public id_base
@@ -1276,7 +1288,7 @@ c_code_id::gen_checking (FILE *f, int indent)
     {
       if (t == 0)
        fprint_indent (f, indent);
-      if (*id == CONVERT_EXPR || *id == NOP_EXPR)
+      if (*i == CONVERT_EXPR || *i == NOP_EXPR)
        fprintf (f, "CASE_CONVERT:");
       else
        fprintf (f, "case %s:", i->id);
@@ -1486,18 +1498,6 @@ add_function (T code, const char *id)
   *slot = fn;
 }
 
-/* Helper for easy comparing ID with tree code CODE.  */
-
-static bool
-operator==(id_base &id, enum tree_code code)
-{
-  if (operator_id *oid = dyn_cast <operator_id *> (&id))
-    return oid->code == code;
-  return false;
-}
-
-/* Lookup the identifier ID.  Allow "null" if ALLOW_NULL.  */
-
 id_base *
 get_operator (const char *id, bool allow_null = false)
 {

Reply via email to