diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2010-12-16 01:48:15 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2010-12-16 01:48:15 +0000 |
commit | 2e071faed8e24721dcb6d9a4ef5df3cf338f88e0 (patch) | |
tree | ce12448a2dae9f838c358e93cfbd445215ccbea2 /llvm/lib/Support/regexec.c | |
parent | 6becf1c9247721fc1d1d9bce1805da2d07a52d32 (diff) | |
download | bcm5719-llvm-2e071faed8e24721dcb6d9a4ef5df3cf338f88e0.tar.gz bcm5719-llvm-2e071faed8e24721dcb6d9a4ef5df3cf338f88e0.zip |
lib/Support/regexec.c: Let Regex LLP64-aware.
On LLP64 Win64, 'states1' (for small version) was expanded to 'char *' for large version. Thus small version would be mischosen when nstates > 32 regardless of sizeof(long) on Win64.
llvm-svn: 121942
Diffstat (limited to 'llvm/lib/Support/regexec.c')
-rw-r--r-- | llvm/lib/Support/regexec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Support/regexec.c b/llvm/lib/Support/regexec.c index 41fb2ea46c9..007861675ba 100644 --- a/llvm/lib/Support/regexec.c +++ b/llvm/lib/Support/regexec.c @@ -54,8 +54,9 @@ #include "regex2.h" /* macros for manipulating states, small version */ -#define states long -#define states1 states /* for later use in llvm_regexec() decision */ +/* FIXME: 'states' is assumed as 'long' on small version. */ +#define states1 long /* for later use in llvm_regexec() decision */ +#define states states1 #define CLEAR(v) ((v) = 0) #define SET0(v, n) ((v) &= ~((unsigned long)1 << (n))) #define SET1(v, n) ((v) |= (unsigned long)1 << (n)) |