blob: 20a6424eeeb7ac0491aedcd48f3dedb797fc3c05 [file] [log] [blame]
/*
* 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_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_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[38];
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 >= 38)
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 */