summaryrefslogtreecommitdiff
path: root/vere/ext/nasm/asm/directiv.h
diff options
context:
space:
mode:
Diffstat (limited to 'vere/ext/nasm/asm/directiv.h')
-rw-r--r--vere/ext/nasm/asm/directiv.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/vere/ext/nasm/asm/directiv.h b/vere/ext/nasm/asm/directiv.h
new file mode 100644
index 0000000..1911264
--- /dev/null
+++ b/vere/ext/nasm/asm/directiv.h
@@ -0,0 +1,79 @@
+/*
+ * This file is generated from ./asm/directiv.dat
+ * by perfhash.pl; do not edit.
+ */
+
+#ifndef DIRECTIV_H
+#define DIRECTIV_H 1
+
+#include "perfhash.h"
+
+enum directive {
+ D_none,
+ D_unknown,
+ D_corrupt,
+ D_ABSOLUTE,
+ D_BITS,
+ D_COMMON,
+ D_CPU,
+ D_DEBUG,
+ D_DEFAULT,
+ D_EXTERN,
+ D_FLOAT,
+ D_GLOBAL,
+ D_STATIC,
+ D_LIST,
+ D_SECTION,
+ D_SEGMENT,
+ D_WARNING,
+ D_SECTALIGN,
+ D_PRAGMA,
+ D_REQUIRED,
+ D_EXPORT,
+ D_GROUP,
+ D_IMPORT,
+ D_LIBRARY,
+ D_MAP,
+ D_MODULE,
+ D_ORG,
+ D_OSABI,
+ D_SAFESEH,
+ D_UPPERCASE,
+ D_PREFIX,
+ D_SUFFIX,
+ D_GPREFIX,
+ D_GSUFFIX,
+ D_LPREFIX,
+ D_LSUFFIX,
+ D_LIMIT,
+ D_OPTIONS,
+ D_SUBSECTIONS_VIA_SYMBOLS,
+ D_NO_DEAD_STRIP,
+ D_MAXDUMP,
+ D_NODEPEND,
+ D_NOSECLABELS
+};
+
+extern const struct perfect_hash directive_hash;
+extern const char * const directive_tbl[40];
+
+static inline enum directive directive_find(const char *str)
+{
+ return perfhash_find(&directive_hash, str);
+}
+
+static inline const char * directive_name(enum directive x)
+{
+ size_t ix = (size_t)x - (3);
+ if (ix >= 40)
+ return NULL;
+ return directive_tbl[ix];
+}
+
+static inline const char * directive_dname(enum directive x)
+{
+ const char *y = directive_name(x);
+ return y ? y : invalid_enum_str(x);
+}
+
+#endif /* DIRECTIV_H */