diff --git a/nasm.h b/nasm.h index 7ff19027..cbd9462f 100644 --- a/nasm.h +++ b/nasm.h @@ -421,6 +421,12 @@ enum { /* Register names automatically generated from regs.dat */ #include "regs.h" +/* verify value to be register */ +static inline int is_register(int reg) +{ + return reg >= EXPR_REG_START && reg < REG_ENUM_LIMIT; +} + enum ccode { /* condition code names */ C_A, C_AE, C_B, C_BE, C_C, C_E, C_G, C_GE, C_L, C_LE, C_NA, C_NAE, C_NB, C_NBE, C_NC, C_NE, C_NG, C_NGE, C_NL, C_NLE, C_NO, C_NP, diff --git a/regs.pl b/regs.pl index e6350f92..82c48295 100755 --- a/regs.pl +++ b/regs.pl @@ -134,13 +134,6 @@ if ( $fmt eq 'h' ) { foreach $reg ( sort(keys(%regs)) ) { printf "#define %-15s %2d\n", "REG_NUM_\U${reg}", $regvals{$reg}; } - - print "\n"; - print "static inline int is_register(int reg)\n"; - print "{\n"; - print " return reg >= EXPR_REG_START && reg < REG_ENUM_LIMIT;\n"; - print "}\n"; - print "\n\n#endif /* NASM_REGS_H */\n"; } elsif ( $fmt eq 'c' ) { # Output regs.c