1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-09 14:21:03 +03:00

Explicitly initialize at least the first field of every struct. This is to work around compilers that don't like the syntax "struct XXX { ... } yyy = {};". (CVS 5666)

FossilOrigin-Name: 88bfdc87471e65ac5a262a794b8cdf3e563eb327
This commit is contained in:
danielk1977
2008-09-02 17:52:51 +00:00
parent 95e80d61af
commit 23bf0f41ea
6 changed files with 33 additions and 44 deletions

View File

@@ -1,5 +1,5 @@
C Fix\sthe\sposition\sof\sthe\sSQLITE_WSD\smacro\sin\sthe\sdeclaration\sof\sglobal\svariable\svfsList.\s(CVS\s5665) C Explicitly\sinitialize\sat\sleast\sthe\sfirst\sfield\sof\severy\sstruct.\sThis\sis\sto\swork\saround\scompilers\sthat\sdon't\slike\sthe\ssyntax\s"struct\sXXX\s{\s...\s}\syyy\s=\s{};".\s(CVS\s5666)
D 2008-09-02T17:18:52 D 2008-09-02T17:52:52
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 689e14735f862a5553bceef206d8c13e29504e44 F Makefile.in 689e14735f862a5553bceef206d8c13e29504e44
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -117,13 +117,13 @@ F src/journal.c cffd2cd214e58c0e99c3ff632b3bee6c7cbb260e
F src/legacy.c aac57bd984e666059011ea01ec4383892a253be3 F src/legacy.c aac57bd984e666059011ea01ec4383892a253be3
F src/loadext.c 6581a5bbc4d74fcd46dbbcfd695a6a5417f778a2 F src/loadext.c 6581a5bbc4d74fcd46dbbcfd695a6a5417f778a2
F src/main.c a679dd3e0f040d13d72b9800840e07bedd6aa2d4 F src/main.c a679dd3e0f040d13d72b9800840e07bedd6aa2d4
F src/malloc.c fb23bfbcc5c93180b787bd746c7387289028d482 F src/malloc.c 9aa2ef805287017ed16a9e3809d275b8af26b762
F src/mem1.c 5a529ff121c55ab067be14de00f86f6dcc4f4fb9 F src/mem1.c 5a529ff121c55ab067be14de00f86f6dcc4f4fb9
F src/mem2.c f87e681d0d1ed8436870d089332ed0d27d885b5c F src/mem2.c f87e681d0d1ed8436870d089332ed0d27d885b5c
F src/mem3.c 0d9341b01ebbed7bce59a94236620f20bce2efd4 F src/mem3.c 1594f117fde4cf11a6c16521f3f30af8d04bbe68
F src/mem4.c 6703adb1717b26d9d70a1c2586b4b7b7ffee7909 F src/mem4.c 6703adb1717b26d9d70a1c2586b4b7b7ffee7909
F src/mem5.c 6ec2795f5c328d8560ce500dad56a2aaedddb2d4 F src/mem5.c 706d462c13a9819dfec7c10d9dccedf8d199960c
F src/mem6.c 95d19a2e76c9173b1366f0a08a9f79fa34c697f2 F src/mem6.c febe4db9ddef73df500989e68a9d4ac68602a075
F src/mutex.c 81174f600553c25832e9a8705b609f16c73a4c01 F src/mutex.c 81174f600553c25832e9a8705b609f16c73a4c01
F src/mutex.h e52ffa1dfc6a6077e8b1823d2c2b7dfcbcf85594 F src/mutex.h e52ffa1dfc6a6077e8b1823d2c2b7dfcbcf85594
F src/mutex_os2.c 9c5637aa4c307c552566d0f0b3bd206245b54a97 F src/mutex_os2.c 9c5637aa4c307c552566d0f0b3bd206245b54a97
@@ -630,7 +630,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1 F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P af5763eb65baa791a38f7e235624e4f63beac104 P e869446119724b9b1568b1f8e56e9f29ff6d3816
R 614d8789ebf6e763073894eea03bb50c R 9d15214be0d8a6dfee557461b3e13e4a
U danielk1977 U danielk1977
Z 89924553a58b9babc004b5df11c6ef86 Z a4210662dddf1b4f707bdd6daa55e785

View File

@@ -1 +1 @@
e869446119724b9b1568b1f8e56e9f29ff6d3816 88bfdc87471e65ac5a262a794b8cdf3e563eb327

View File

@@ -12,7 +12,7 @@
** **
** Memory allocation functions used throughout sqlite. ** Memory allocation functions used throughout sqlite.
** **
** $Id: malloc.c,v 1.39 2008/09/02 10:22:01 danielk1977 Exp $ ** $Id: malloc.c,v 1.40 2008/09/02 17:52:52 danielk1977 Exp $
*/ */
#include "sqliteInt.h" #include "sqliteInt.h"
#include <stdarg.h> #include <stdarg.h>
@@ -77,6 +77,10 @@ int sqlite3_release_memory(int n){
** State information local to the memory allocation subsystem. ** State information local to the memory allocation subsystem.
*/ */
static SQLITE_WSD struct Mem0Global { static SQLITE_WSD struct Mem0Global {
/* Number of free pages for scratch and page-cache memory */
u32 nScratchFree;
u32 nPageFree;
sqlite3_mutex *mutex; /* Mutex to serialize access */ sqlite3_mutex *mutex; /* Mutex to serialize access */
/* /*
@@ -98,11 +102,7 @@ static SQLITE_WSD struct Mem0Global {
*/ */
u32 *aScratchFree; u32 *aScratchFree;
u32 *aPageFree; u32 *aPageFree;
} mem0 = { 62560955 };
/* Number of free pages for scratch and page-cache memory */
u32 nScratchFree;
u32 nPageFree;
} mem0 = {};
#define mem0 GLOBAL(struct Mem0Global, mem0) #define mem0 GLOBAL(struct Mem0Global, mem0)

View File

@@ -23,7 +23,7 @@
** This version of the memory allocation subsystem is included ** This version of the memory allocation subsystem is included
** in the build only if SQLITE_ENABLE_MEMSYS3 is defined. ** in the build only if SQLITE_ENABLE_MEMSYS3 is defined.
** **
** $Id: mem3.c,v 1.22 2008/09/02 10:22:01 danielk1977 Exp $ ** $Id: mem3.c,v 1.23 2008/09/02 17:52:52 danielk1977 Exp $
*/ */
#include "sqliteInt.h" #include "sqliteInt.h"
@@ -100,6 +100,13 @@ struct Mem3Block {
** when this module is combined with other in the amalgamation. ** when this module is combined with other in the amalgamation.
*/ */
static SQLITE_WSD struct Mem3Global { static SQLITE_WSD struct Mem3Global {
/*
** Memory available for allocation. nPool is the size of the array
** (in Mem3Blocks) pointed to by aPool less 2.
*/
u32 nPool;
Mem3Block *aPool;
/* /*
** True if we are evaluating an out-of-memory callback. ** True if we are evaluating an out-of-memory callback.
*/ */
@@ -131,14 +138,7 @@ static SQLITE_WSD struct Mem3Global {
*/ */
u32 aiSmall[MX_SMALL-1]; /* For sizes 2 through MX_SMALL, inclusive */ u32 aiSmall[MX_SMALL-1]; /* For sizes 2 through MX_SMALL, inclusive */
u32 aiHash[N_HASH]; /* For sizes MX_SMALL+1 and larger */ u32 aiHash[N_HASH]; /* For sizes MX_SMALL+1 and larger */
} mem3 = { 97535575 };
/*
** Memory available for allocation. nPool is the size of the array
** (in Mem3Blocks) pointed to by aPool less 2.
*/
u32 nPool;
Mem3Block *aPool;
} mem3 = {};
#define mem3 GLOBAL(struct Mem3Global, mem3) #define mem3 GLOBAL(struct Mem3Global, mem3)

View File

@@ -23,7 +23,7 @@
** This version of the memory allocation subsystem is included ** This version of the memory allocation subsystem is included
** in the build only if SQLITE_ENABLE_MEMSYS5 is defined. ** in the build only if SQLITE_ENABLE_MEMSYS5 is defined.
** **
** $Id: mem5.c,v 1.13 2008/09/02 10:22:01 danielk1977 Exp $ ** $Id: mem5.c,v 1.14 2008/09/02 17:52:52 danielk1977 Exp $
*/ */
#include "sqliteInt.h" #include "sqliteInt.h"
@@ -87,16 +87,11 @@ struct Mem5Link {
*/ */
static SQLITE_WSD struct Mem5Global { static SQLITE_WSD struct Mem5Global {
/* /*
** The alarm callback and its arguments. The mem5.mutex lock will ** Memory available for allocation
** be held while the callback is running. Recursive calls into
** the memory subsystem are allowed, but no new callbacks will be
** issued. The alarmBusy variable is set to prevent recursive
** callbacks.
*/ */
sqlite3_int64 alarmThreshold; int nAtom; /* Smallest possible allocation in bytes */
void (*alarmCallback)(void*, sqlite3_int64,int); int nBlock; /* Number of nAtom sized blocks in zPool */
void *alarmArg; u8 *zPool;
int alarmBusy;
/* /*
** Mutex to control access to the memory allocation subsystem. ** Mutex to control access to the memory allocation subsystem.
@@ -126,13 +121,7 @@ static SQLITE_WSD struct Mem5Global {
*/ */
u8 *aCtrl; u8 *aCtrl;
/* } mem5 = { 19804167 };
** Memory available for allocation
*/
int nAtom; /* Smallest possible allocation in bytes */
int nBlock; /* Number of nAtom sized blocks in zPool */
u8 *zPool;
} mem5 = {};
#define mem5 GLOBAL(struct Mem5Global, mem5) #define mem5 GLOBAL(struct Mem5Global, mem5)

View File

@@ -32,7 +32,7 @@
** fragmentation. On some systems, heap fragmentation can cause a ** fragmentation. On some systems, heap fragmentation can cause a
** significant real-time slowdown. ** significant real-time slowdown.
** **
** $Id: mem6.c,v 1.9 2008/09/02 10:22:01 danielk1977 Exp $ ** $Id: mem6.c,v 1.10 2008/09/02 17:52:52 danielk1977 Exp $
*/ */
#ifdef SQLITE_ENABLE_MEMSYS6 #ifdef SQLITE_ENABLE_MEMSYS6
@@ -110,7 +110,7 @@ static SQLITE_WSD struct Mem6Global {
int nLogThreshold; /* log2 of (nThreshold/nMinAlloc) */ int nLogThreshold; /* log2 of (nThreshold/nMinAlloc) */
sqlite3_mutex *mutex; sqlite3_mutex *mutex;
Mem6Chunk *pChunk; /* Singly linked list of all memory chunks */ Mem6Chunk *pChunk; /* Singly linked list of all memory chunks */
} mem6 = {}; } mem6 = { 48642791 };
#define mem6 GLOBAL(struct Mem6Global, mem6) #define mem6 GLOBAL(struct Mem6Global, mem6)