diff options
author | Mike Pall <mike> | 2010-12-09 16:11:15 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-09 16:11:15 +0100 |
commit | 36fed9f3e1af587d331e8c070059163f2ac6432e (patch) | |
tree | d10d994dc846bec0341eca9788e6644c9d864a3a | |
parent | e9cab5a763b72e146a5faf49d06562e0e111b626 (diff) | |
download | luajit-36fed9f3e1af587d331e8c070059163f2ac6432e.tar.gz luajit-36fed9f3e1af587d331e8c070059163f2ac6432e.tar.bz2 luajit-36fed9f3e1af587d331e8c070059163f2ac6432e.zip |
Allow integer literals in FOLD rules.
Workaround before refactoring conversion ops.
-rw-r--r-- | src/buildvm_fold.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/buildvm_fold.c b/src/buildvm_fold.c index 97632c56..eaca067f 100644 --- a/src/buildvm_fold.c +++ b/src/buildvm_fold.c | |||
@@ -110,6 +110,11 @@ static uint32_t nexttoken(char **pp, int allowlit, int allowany) | |||
110 | for (i = 0; ircall_names[i]; i++) | 110 | for (i = 0; ircall_names[i]; i++) |
111 | if (!strcmp(ircall_names[i], p+7)) | 111 | if (!strcmp(ircall_names[i], p+7)) |
112 | return i; | 112 | return i; |
113 | } else if (allowlit && *p >= '0' && *p <= '9') { | ||
114 | for (i = 0; *p >= '0' && *p <= '9'; p++) | ||
115 | i = i*10 + (*p - '0'); | ||
116 | if (*p == '\0') | ||
117 | return i; | ||
113 | } else if (allowany && !strcmp("any", p)) { | 118 | } else if (allowany && !strcmp("any", p)) { |
114 | return 0xff; | 119 | return 0xff; |
115 | } else { | 120 | } else { |