On the windows VFS, do not try to make InterlockedCompareExchange an
overloadable function, since sometimes it is a macro. FossilOrigin-Name: ab1a751e1304749bef5bc5c833f9abed8950f7d0
This commit is contained in:
parent
17835a5443
commit
2abe6a281c
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
||||
C In\sthe\sWin32\sVFS,\swork\saround\sInterlockedCompareExchange()\sbeing\sa\smacro\son\ssome\splatforms\s(e.g.\sx64).
|
||||
D 2014-08-06T03:06:01.637
|
||||
C On\sthe\swindows\sVFS,\sdo\snot\stry\sto\smake\sInterlockedCompareExchange\san\noverloadable\sfunction,\ssince\ssometimes\sit\sis\sa\smacro.
|
||||
D 2014-08-06T11:57:54.546
|
||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||
F Makefile.in 5eb79e334a5de69c87740edd56af6527dd219308
|
||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||
@ -208,7 +208,7 @@ F src/os.h 60d419395e32a8029fa380a80a3da2e9030f635e
|
||||
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
|
||||
F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
|
||||
F src/os_unix.c a7baf1b30f3c58ba20b813e01aab23b18ae44f85
|
||||
F src/os_win.c dddffe56dd21fd3687eaec36e01499988918a4fb
|
||||
F src/os_win.c 3fca1bfdf78338705bf536059a407d0fb04016d5
|
||||
F src/os_win.h 057344a6720b4c8405d9bd98f58cb37a6ee46c25
|
||||
F src/pager.c f6bb1fa6cdf2062f2d8aec3e64db302bca519ab8
|
||||
F src/pager.h ffd5607f7b3e4590b415b007a4382f693334d428
|
||||
@ -1185,7 +1185,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 717245d48714c08156c9b7636aaa6c3a402bad66
|
||||
R c63f8cfa87b32fea35b14f1ae3f3b367
|
||||
U mistachkin
|
||||
Z 0f9f130c5300af8c7a887c050bb16bac
|
||||
P 7be244ce129d6502f3a3e3f3e8a1dd61ef71d878
|
||||
R 40d3ff3c08b7d4b2cddf84583f93f135
|
||||
U drh
|
||||
Z 1b7c539afa0e75fe0851e437eb151215
|
||||
|
@ -1 +1 @@
|
||||
7be244ce129d6502f3a3e3f3e8a1dd61ef71d878
|
||||
ab1a751e1304749bef5bc5c833f9abed8950f7d0
|
11
src/os_win.c
11
src/os_win.c
@ -1050,16 +1050,9 @@ static struct win_syscall {
|
||||
/*
|
||||
** NOTE: On some sub-platforms, the InterlockedCompareExchange "function"
|
||||
** is really just a macro that uses a compiler intrinsic (e.g. x64).
|
||||
** So do not try to make this is into a redefinable interface.
|
||||
*/
|
||||
|
||||
#if defined(InterlockedCompareExchange)
|
||||
#define osInterlockedCompareExchange InterlockedCompareExchange
|
||||
#else
|
||||
{ "InterlockedCompareExchange", (SYSCALL)InterlockedCompareExchange, 0 },
|
||||
|
||||
#define osInterlockedCompareExchange ((LONG(WINAPI*)(LONG volatile*, \
|
||||
LONG,LONG))aSyscall[76].pCurrent)
|
||||
#endif /* defined(InterlockedCompareExchange) */
|
||||
|
||||
}; /* End of the overrideable system calls */
|
||||
|
||||
@ -5489,7 +5482,7 @@ int sqlite3_os_init(void){
|
||||
|
||||
/* Double-check that the aSyscall[] array has been constructed
|
||||
** correctly. See ticket [bb3a86e890c8e96ab] */
|
||||
assert( ArraySize(aSyscall)==77 );
|
||||
assert( ArraySize(aSyscall)==76 );
|
||||
|
||||
/* get memory map allocation granularity */
|
||||
memset(&winSysInfo, 0, sizeof(SYSTEM_INFO));
|
||||
|
Loading…
x
Reference in New Issue
Block a user