From: Stefan Schulze Frielinghaus <[email protected]>

For the subsequent patch I need the number of mnemonics.  Instead of
introducing a new named constant which may potentially clash with a
mnemonic, I went for a new preprocessor definition
ATTR_ENUM_MNEMONIC_COUNT.  Though, if there are reasons to choose a
named constant instaed, I'm fine with this, too.

gcc/ChangeLog:

        * genattr-common.cc (gen_attr): New preprocessor definition
        ATTR_ENUM_MNEMONIC_COUNT.
---
 Bootstrapped and regtested on x86_64-linux and s390x-linux.  Ok for
 mainline?

 gcc/genattr-common.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/genattr-common.cc b/gcc/genattr-common.cc
index 4d000c81fa9..20138333c0a 100644
--- a/gcc/genattr-common.cc
+++ b/gcc/genattr-common.cc
@@ -40,6 +40,7 @@ static void
 gen_attr (md_rtx_info *info)
 {
   const char *p, *tag;
+  size_t count = 0;
 
   rtx attr = info->def;
   p = XSTR (attr, 1);
@@ -55,8 +56,11 @@ gen_attr (md_rtx_info *info)
            putchar (TOUPPER (*tag++));
          if (*p == ',')
            fputs (", ", stdout);
+         ++count;
        }
       fputs ("};\n", stdout);
+      if (strcmp (XSTR (attr, 0), "mnemonic") == 0)
+       printf ("#define ATTR_ENUM_MNEMONIC_COUNT %zu\n", count);
     }
 }
 
-- 
2.55.0

Reply via email to