Spurious use of SQLITE_USE_ALLOCA?
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Jun 2024 18:53:40 UTC
(Tried sending to chromium@, but I'm not a subscriber.) I'm currently getting compile failures of chromium 125.0.6422.112 on FreeBSD 13.2-RELEASE-p10: In file included from ../../third_party/sqlite/sqlite3_shim.c:16: ../../third_party/sqlite/src/amalgamation/sqlite3.c:53619:21: error: call to undeclared function 'alloca'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 53619 | u32 *aiValues = sqlite3StackAllocRaw(0, sizeof(p->u.aHash)); | ^ ../../third_party/sqlite/src/amalgamation/sqlite3.c:20536:38: note: expanded from macro 'sqlite3StackAllocRaw' 20536 | # define sqlite3StackAllocRaw(D,N) alloca(N) | ^ ../../third_party/sqlite/src/amalgamation/sqlite3.c:53619:10: error: incompatible integer to pointer conversion initializing 'u32 *' (aka 'unsigned int *') with an expression of type 'int' [-Wint-conversion] 53619 | u32 *aiValues = sqlite3StackAllocRaw(0, sizeof(p->u.aHash)); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/sqlite/src/amalgamation/sqlite3.c:78371:14: error: call to undeclared function 'alloca'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 78371 | b.apCell = sqlite3StackAllocRaw(0, szScratch ); | ^ ../../third_party/sqlite/src/amalgamation/sqlite3.c:20536:38: note: expanded from macro 'sqlite3StackAllocRaw' 20536 | # define sqlite3StackAllocRaw(D,N) alloca(N) | ^ ../../third_party/sqlite/src/amalgamation/sqlite3.c:78371:12: error: incompatible integer to pointer conversion assigning to 'u8 **' (aka 'unsigned char **') from 'int' [-Wint-conversion] 78371 | b.apCell = sqlite3StackAllocRaw(0, szScratch ); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/sqlite/src/amalgamation/sqlite3.c:166054:12: error: call to undeclared function 'alloca'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 166054 | pSpace = sqlite3StackAllocRawNN(pParse->db, nSpace); | ^ ../../third_party/sqlite/src/amalgamation/sqlite3.c:20537:38: note: expanded from macro 'sqlite3StackAllocRawNN' 20537 | # define sqlite3StackAllocRawNN(D,N) alloca(N) | ^ ../../third_party/sqlite/src/amalgamation/sqlite3.c:166054:10: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion] 166054 | pSpace = sqlite3StackAllocRawNN(pParse->db, nSpace); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 errors generated. The 'alloca' comes from the expansion of sqlite3StackAllocRaw, due to SQLITE_USE_ALLOCA being defined (seems implausible), due to the compile command line including '-DSQLITE_USE_ALLOCA'. I haven't been able to figure out why '-DSQLITE_USE_ALLOCA' appears on the command line. A full typescript is at m5p.com/public/george/typescript. Suggestions for proceeding gratefully accepted! -- George