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
This commit is contained in:
NAKAMURA Takumi 2010-12-16 01:48:15 +00:00
parent 6becf1c924
commit 2e071faed8
1 changed files with 3 additions and 2 deletions

View File

@ -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))