1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Fix harmless compiler warnings that surface in newer versions of GCC.

FossilOrigin-Name: 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d
This commit is contained in:
drh
2020-08-10 14:18:00 +00:00
parent ed0af52cb1
commit 08b9208660
18 changed files with 95 additions and 54 deletions

View File

@@ -3479,7 +3479,7 @@ static int fts3ColumnMethod(
break; break;
}else{ }else{
iCol = p->nColumn; iCol = p->nColumn;
/* fall-through */ /* no break */ deliberate_fall_through
} }
default: default:
@@ -3722,9 +3722,13 @@ static void fts3SnippetFunc(
switch( nVal ){ switch( nVal ){
case 6: nToken = sqlite3_value_int(apVal[5]); case 6: nToken = sqlite3_value_int(apVal[5]);
/* no break */ deliberate_fall_through
case 5: iCol = sqlite3_value_int(apVal[4]); case 5: iCol = sqlite3_value_int(apVal[4]);
/* no break */ deliberate_fall_through
case 4: zEllipsis = (const char*)sqlite3_value_text(apVal[3]); case 4: zEllipsis = (const char*)sqlite3_value_text(apVal[3]);
/* no break */ deliberate_fall_through
case 3: zEnd = (const char*)sqlite3_value_text(apVal[2]); case 3: zEnd = (const char*)sqlite3_value_text(apVal[2]);
/* no break */ deliberate_fall_through
case 2: zStart = (const char*)sqlite3_value_text(apVal[1]); case 2: zStart = (const char*)sqlite3_value_text(apVal[1]);
} }
if( !zEllipsis || !zEnd || !zStart ){ if( !zEllipsis || !zEnd || !zStart ){

View File

@@ -42,6 +42,10 @@ SQLITE_EXTENSION_INIT1
# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64) # define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64)
#endif #endif
#ifndef deliberate_fall_through
# define deliberate_fall_through
#endif
/* /*
** Versions of isspace(), isalnum() and isdigit() to which it is safe ** Versions of isspace(), isalnum() and isdigit() to which it is safe
** to pass signed char values. ** to pass signed char values.
@@ -460,7 +464,7 @@ static void jsonRenderNode(
jsonAppendString(pOut, pNode->u.zJContent, pNode->n); jsonAppendString(pOut, pNode->u.zJContent, pNode->n);
break; break;
} }
/* Fall through into the next case */ /* no break */ deliberate_fall_through
} }
case JSON_REAL: case JSON_REAL:
case JSON_INT: { case JSON_INT: {
@@ -601,7 +605,7 @@ static void jsonReturn(
sqlite3_result_int64(pCtx, i); sqlite3_result_int64(pCtx, i);
int_done: int_done:
break; break;
int_as_real: /* fall through to real */; int_as_real: i=0; /* no break */ deliberate_fall_through
} }
case JSON_REAL: { case JSON_REAL: {
double r; double r;
@@ -2304,6 +2308,7 @@ static int jsonEachColumn(
} }
/* For json_each() path and root are the same so fall through /* For json_each() path and root are the same so fall through
** into the root case */ ** into the root case */
/* no break */ deliberate_fall_through
} }
default: { default: {
const char *zRoot = p->zRoot; const char *zRoot = p->zRoot;

View File

@@ -286,6 +286,13 @@ static const unsigned char sqlite3CtypeMap[256] = {
#define TK_VARIABLE TK_LITERAL #define TK_VARIABLE TK_LITERAL
#define TK_BLOB TK_LITERAL #define TK_BLOB TK_LITERAL
/* Disable nuisence warnings about case fall-through */
#if !defined(deliberate_fall_through) && defined(__GCC__) && __GCC__>=7
# define deliberate_fall_through __attribute__((fallthrough));
#else
# define deliberate_fall_through
#endif
/* /*
** Return the length (in bytes) of the token that begins at z[0]. ** Return the length (in bytes) of the token that begins at z[0].
** Store the token type in *tokenType before returning. ** Store the token type in *tokenType before returning.
@@ -436,6 +443,7 @@ static int sqlite3GetToken(const unsigned char *z, int *tokenType){
} }
/* If the next character is a digit, this is a floating point /* If the next character is a digit, this is a floating point
** number that begins with ".". Fall thru into the next case */ ** number that begins with ".". Fall thru into the next case */
/* no break */ deliberate_fall_through
} }
case CC_DIGIT: { case CC_DIGIT: {
*tokenType = TK_INTEGER; *tokenType = TK_INTEGER;
@@ -528,6 +536,7 @@ static int sqlite3GetToken(const unsigned char *z, int *tokenType){
} }
/* If it is not a BLOB literal, then it must be an ID, since no /* If it is not a BLOB literal, then it must be an ID, since no
** SQL keywords start with the letter 'x'. Fall through */ ** SQL keywords start with the letter 'x'. Fall through */
/* no break */ deliberate_fall_through
} }
case CC_ID: { case CC_ID: {
i = 1; i = 1;

View File

@@ -1,5 +1,5 @@
C Fix\sanother\stest\sscript\sproblem\sin\swalvfs.test. C Fix\sharmless\scompiler\swarnings\sthat\ssurface\sin\snewer\sversions\sof\sGCC.
D 2020-08-10T11:21:48.803 D 2020-08-10T14:18:00.692
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -83,7 +83,7 @@ F ext/fts3/README.content b9078d0843a094d86af0d48dffbff13c906702b4c3558012e67b9c
F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
F ext/fts3/README.tokenizers b92bdeb8b46503f0dd301d364efc5ef59ef9fa8e2758b8e742f39fa93a2e422d F ext/fts3/README.tokenizers b92bdeb8b46503f0dd301d364efc5ef59ef9fa8e2758b8e742f39fa93a2e422d
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
F ext/fts3/fts3.c a571f1edf85ef07e94ad716d581cdd9875df444dfcfa6f81f0ea818f98d45189 F ext/fts3/fts3.c 4809e0b05af4519ad8bfa13d684f7ad635d1390a758299d2302f7e85c48ec160
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
F ext/fts3/fts3Int.h 2c59cc46aefde134c1782e89a6a5384710ddcd4e783071337aa5d43d07269be3 F ext/fts3/fts3Int.h 2c59cc46aefde134c1782e89a6a5384710ddcd4e783071337aa5d43d07269be3
F ext/fts3/fts3_aux.c 96708c8b3a7d9b8ca1b68ea2b7e503e283f20e95f145becadedfad096dbd0f34 F ext/fts3/fts3_aux.c 96708c8b3a7d9b8ca1b68ea2b7e503e283f20e95f145becadedfad096dbd0f34
@@ -300,14 +300,14 @@ F ext/misc/fileio.c 9b69e25da3b51d4a1d905a464ccb96709792ad627a742ba09215bc0d1447
F ext/misc/fossildelta.c 1240b2d3e52eab1d50c160c7fe1902a9bd210e052dc209200a750bbf885402d5 F ext/misc/fossildelta.c 1240b2d3e52eab1d50c160c7fe1902a9bd210e052dc209200a750bbf885402d5
F ext/misc/fuzzer.c eae560134f66333e9e1ca4c8ffea75df42056e2ce8456734565dbe1c2a92bf3d F ext/misc/fuzzer.c eae560134f66333e9e1ca4c8ffea75df42056e2ce8456734565dbe1c2a92bf3d
F ext/misc/ieee754.c 5c7ca326361c7368f95f5743972eade3b8b24f60359ed7cba4706668a5682896 F ext/misc/ieee754.c 5c7ca326361c7368f95f5743972eade3b8b24f60359ed7cba4706668a5682896
F ext/misc/json1.c 3a42e3231d716516a8ae33b0a052d3ed5f52943e3d627b68744a427a6e552ae3 F ext/misc/json1.c f31e89171f932d1821c91f10d2cb4979fc0447030030a8bce70420cd43d074c0
F ext/misc/memstat.c 3017a0832c645c0f8c773435620d663855f04690172316bd127270d1a7523d4d F ext/misc/memstat.c 3017a0832c645c0f8c773435620d663855f04690172316bd127270d1a7523d4d
F ext/misc/memtrace.c 7c0d115d2ef716ad0ba632c91e05bd119cb16c1aedf3bec9f06196ead2d5537b F ext/misc/memtrace.c 7c0d115d2ef716ad0ba632c91e05bd119cb16c1aedf3bec9f06196ead2d5537b
F ext/misc/memvfs.c ab36f49e02ebcdf85a1e08dc4d8599ea8f343e073ac9e0bca18a98b7e1ec9567 F ext/misc/memvfs.c ab36f49e02ebcdf85a1e08dc4d8599ea8f343e073ac9e0bca18a98b7e1ec9567
F ext/misc/mmapwarm.c 347caa99915fb254e8949ec131667b7fae99e2a9ce91bd468efb6dc372d9b7a9 F ext/misc/mmapwarm.c 347caa99915fb254e8949ec131667b7fae99e2a9ce91bd468efb6dc372d9b7a9
F ext/misc/nextchar.c 7877914c2a80c2f181dd04c3dbef550dfb54c93495dc03da2403b5dd58f34edd F ext/misc/nextchar.c 7877914c2a80c2f181dd04c3dbef550dfb54c93495dc03da2403b5dd58f34edd
F ext/misc/noop.c 81efe4cad9ec740e64388b14281cb983e6e2c223fed43eb77ab3e34946e0c1ab F ext/misc/noop.c 81efe4cad9ec740e64388b14281cb983e6e2c223fed43eb77ab3e34946e0c1ab
F ext/misc/normalize.c b4290464f542bae7a97b43f15bd197949b833ffd668b7c313631bd5d4610212c F ext/misc/normalize.c bd84355c118e297522aba74de34a4fd286fc775524e0499b14473918d09ea61f
F ext/misc/percentile.c b9086e223d583bdaf8cb73c98a6539d501a2fc4282654adbfea576453d82e691 F ext/misc/percentile.c b9086e223d583bdaf8cb73c98a6539d501a2fc4282654adbfea576453d82e691
F ext/misc/prefixes.c 0f4f8cff5aebc00a7e3ac4021fd59cfe1a8e17c800ceaf592859ecb9cbc38196 F ext/misc/prefixes.c 0f4f8cff5aebc00a7e3ac4021fd59cfe1a8e17c800ceaf592859ecb9cbc38196
F ext/misc/regexp.c 246244c714267f303df76acf73dcf110cf2eaf076896aaaba8db6d6d21a129db F ext/misc/regexp.c 246244c714267f303df76acf73dcf110cf2eaf076896aaaba8db6d6d21a129db
@@ -487,19 +487,19 @@ F src/date.c dace306a10d9b02ee553d454c8e1cf8d3c9b932e137738a6b15b90253a9bfc10
F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c
F src/delete.c 410c771c25afc113c273d9efad6ab6881bda28c75a1838b9d2c52ba20d1dc704 F src/delete.c 410c771c25afc113c273d9efad6ab6881bda28c75a1838b9d2c52ba20d1dc704
F src/expr.c 90039a043658ce78c3237ba5064c0934b7294120f6adc387f8d0fba306028154 F src/expr.c 58c06940d964c2cf455b979cf66a648499d294a5ee6dadcaeaed447257c1dc75
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 4b575423b0a5d4898b1a7868ce985cf1a8ad91c741c9abbb108ff02536d20f41 F src/fkey.c 83372403298e6a7dd989a47aaacdbaa5b4307b5199dbd56e07d4896066b3de72
F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0 F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0
F src/global.c 943256ac44f333039d35a9830c18d075a81fa6b6bf2af05771494a9acfb9a40b F src/global.c 943256ac44f333039d35a9830c18d075a81fa6b6bf2af05771494a9acfb9a40b
F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19 F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38 F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144 F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
F src/insert.c 8cce522e82d055b936ecec664c0272e38805fa63fa281ab03e97b8e37897a8cb F src/insert.c 957254a2d0542597455d0d4c640e4e3f3eea8c6d78f04582df03dfc626f07925
F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
F src/loadext.c 436af4968c6954d304fce9efa12719367bd8f37b19b93b71d6ad607e85adbb47 F src/loadext.c 436af4968c6954d304fce9efa12719367bd8f37b19b93b71d6ad607e85adbb47
F src/main.c 5212b0e3d733ef219ebca6712d84203081ac0b3c5e88ec4183fd2dd55a7ca8de F src/main.c f41d2aea8ac534e4054deb893ad93d292f37a214de1a9cff34fbde407ef685e6
F src/malloc.c 22d5bdd9fe88ae4fad1b91a1b9735104b82853ffef868f1f05517d60dc1875f5 F src/malloc.c 22d5bdd9fe88ae4fad1b91a1b9735104b82853ffef868f1f05517d60dc1875f5
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@ -531,18 +531,18 @@ F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a
F src/pragma.c bdb600be936f66b9fe69d26dfbba4528beaaf4f95c479c85b328a92484e0bf71 F src/pragma.c bdb600be936f66b9fe69d26dfbba4528beaaf4f95c479c85b328a92484e0bf71
F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf
F src/prepare.c 3d5a761d026052bc888d1b803a06dd2bfe245e8e836d4689f927003549148b0f F src/prepare.c 3d5a761d026052bc888d1b803a06dd2bfe245e8e836d4689f927003549148b0f
F src/printf.c 94b5419ad0a17269f76a9e968ca19cf9fa37617abed2e246fc48844e511b6bc6 F src/printf.c 9efcd4e984f22bcccb1ded37a1178cac98f6e3a0534e1e0629f64899971f8838
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c 2dd6821aac2cd27de9fcf6aa6d1f8c41b4b5841c9bc58bf1c9109008009a3a2e F src/resolve.c d74715aceed2a8f493ba244d535646fa93132042a4400a29dfd26ec841514048
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
F src/select.c 510fdf819f218be3dac2683d3eaaf64e5080f548061a4dd12205590beda976bb F src/select.c 510fdf819f218be3dac2683d3eaaf64e5080f548061a4dd12205590beda976bb
F src/shell.c.in 6c1b07ee630b6d2bf4f89f667ec43dcc9df733e24f55b3227dc87d80f039f8db F src/shell.c.in 6c1b07ee630b6d2bf4f89f667ec43dcc9df733e24f55b3227dc87d80f039f8db
F src/sqlite.h.in d2c03414a8ee5d4a6855c04dd7cd5998e45139b0fe66b65bae86d4223edd091f F src/sqlite.h.in d2c03414a8ee5d4a6855c04dd7cd5998e45139b0fe66b65bae86d4223edd091f
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0197 F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0197
F src/sqliteInt.h ed67c2f3f15e8a4bd7e4b87b07ce655e4d7be58dbf2bb26a3a43c16fbf536efc F src/sqliteInt.h 4952e11e2ad76ee0f1ce9e260a1a6dbe1a079238294b83cecacb227bc53773d0
F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032 F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032
F src/status.c 9ff2210207c6c3b4d9631a8241a7d45ab1b26a0e9c84cb07a9b5ce2de9a3b278 F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
F src/tclsqlite.c 986b6391f02cd9b53c1d688be55899f6ffddeb8e8014cd83c1b73ff912579a71 F src/tclsqlite.c 986b6391f02cd9b53c1d688be55899f6ffddeb8e8014cd83c1b73ff912579a71
F src/test1.c 77d0bf0140d92e5e8234dd3e158a985fc905e5bd9d94254370d4e9421f7c2224 F src/test1.c 77d0bf0140d92e5e8234dd3e158a985fc905e5bd9d94254370d4e9421f7c2224
@@ -599,7 +599,7 @@ F src/test_windirent.h 90dfbe95442c9762357fe128dc7ae3dc199d006de93eb33ba3972e0a9
F src/test_window.c cdae419fdcea5bad6dcd9368c685abdad6deb59e9fc8b84b153de513d394ba3f F src/test_window.c cdae419fdcea5bad6dcd9368c685abdad6deb59e9fc8b84b153de513d394ba3f
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
F src/tokenize.c eee7bae3ec0bc4abee951554bf46a8ba567c0f7752ac90c820ed8afff4c612dc F src/tokenize.c 4dc01b267593537e2a0d0efe9f80dabe24c5b6f7627bc6971c487fa6a1dacbbf
F src/treeview.c 4b92992176fb2caefbe06ba5bd06e0e0ebcde3d5564758da672631f17aa51cda F src/treeview.c 4b92992176fb2caefbe06ba5bd06e0e0ebcde3d5564758da672631f17aa51cda
F src/trigger.c ef67bde309a831515dc3c2173d792574309f2f42d45f8c078743fae9f7f98c75 F src/trigger.c ef67bde309a831515dc3c2173d792574309f2f42d45f8c078743fae9f7f98c75
F src/update.c fb15bec5b54fd098f4b84f6abc83c7103b45ba8484011fff8edf5ae31656eab6 F src/update.c fb15bec5b54fd098f4b84f6abc83c7103b45ba8484011fff8edf5ae31656eab6
@@ -607,11 +607,11 @@ F src/upsert.c 2920de71b20f04fe25eb00b655d086f0ba60ea133c59d7fa3325c49838818e78
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
F src/util.c c8bf30c4356b091bcc3b624d0e24b2b4d11b8be4d6c90d8e0705971e15cc819b F src/util.c c8bf30c4356b091bcc3b624d0e24b2b4d11b8be4d6c90d8e0705971e15cc819b
F src/vacuum.c 1c4f8e2f39d950037f4cf946b6858c993d3a54c3101f78e05c76460a073afcf0 F src/vacuum.c 1c4f8e2f39d950037f4cf946b6858c993d3a54c3101f78e05c76460a073afcf0
F src/vdbe.c 332717dbf06346de9d0ca56aa067c1e9e76f38f57b2dbc0bae4daa657fc83171 F src/vdbe.c e9f7f818f128c8600058c0eabb6b3975974c95153a104d340f419adabbc15b9f
F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1 F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1
F src/vdbeInt.h 762abffb7709f19c2cb74af1bba73a900f762e64f80d69c31c9ae89ed1066b60 F src/vdbeInt.h 762abffb7709f19c2cb74af1bba73a900f762e64f80d69c31c9ae89ed1066b60
F src/vdbeapi.c c1a9004ac554d8d48794d2ce5f80397f8e419fd28643a543cc1e004c7713c3ef F src/vdbeapi.c c5e7cb2ab89a24d7f723e87b508f21bfb1359a04db5277d8a99fd1e015c12eb9
F src/vdbeaux.c 1cbbbffdb874c6f3e7aab40f3deb48abac4a71df1043cd95bb0d652d4e053871 F src/vdbeaux.c 73854da7a9a4f12db72a855758214173c82f46a14be6cb19e63677ba02c97cae
F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1 F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1
F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f
F src/vdbesort.c 2be76d26998ce2b3324cdcc9f6443728e54b6c7677c553ad909c7d7cfab587df F src/vdbesort.c 2be76d26998ce2b3324cdcc9f6443728e54b6c7677c553ad909c7d7cfab587df
@@ -626,7 +626,7 @@ F src/where.c 2ea911238674e9baaeddf105dddabed92692a01996073c4d4983f9a7efe481f9
F src/whereInt.h 6b874aa15f94e43a2cec1080be64d955b04deeafeac90ffb5d6975c0d511be3c F src/whereInt.h 6b874aa15f94e43a2cec1080be64d955b04deeafeac90ffb5d6975c0d511be3c
F src/wherecode.c 8064fe5c042824853a9b1fda670054a51a49033a6c79059988c97751ccf8088e F src/wherecode.c 8064fe5c042824853a9b1fda670054a51a49033a6c79059988c97751ccf8088e
F src/whereexpr.c 264d58971eaf8256eb5b0917bcd7fc7a1f1109fdda183a8382308a1b18a2dce7 F src/whereexpr.c 264d58971eaf8256eb5b0917bcd7fc7a1f1109fdda183a8382308a1b18a2dce7
F src/window.c 0dec178bfa541c757d15a2be78f34aea36393a0966600366810e5f8739ccf370 F src/window.c edd6f5e25a1e8f2b6f5305b7f5f7da7bb35f07f0d432b255b1d4c2fcab4205aa
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
F test/affinity2.test ce1aafc86e110685b324e9a763eab4f2a73f737842ec3b687bd965867de90627 F test/affinity2.test ce1aafc86e110685b324e9a763eab4f2a73f737842ec3b687bd965867de90627
F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d
@@ -1879,7 +1879,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 5d54cd44d076cfede60bd404a59bd700a950420b961ae9fdec4365a3e4ed18ed P 1b89d3931e368a66be5075bdf49eedd3839591ee268e3ac293040b5bf7639746
R efae56d5abf0f321b2e07fdbe67a47e1 R dacbab3fbb502c96f9bb56dece2c04cf
U dan U drh
Z 4b0a9c1c2c6bfc010bd4e3cd7a618bbc Z 62f35aa94464db0922c0e32915927235

View File

@@ -1 +1 @@
1b89d3931e368a66be5075bdf49eedd3839591ee268e3ac293040b5bf7639746 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d

View File

@@ -2029,7 +2029,7 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
if( sqlite3ExprIdToTrueFalse(pExpr) ){ if( sqlite3ExprIdToTrueFalse(pExpr) ){
return WRC_Prune; return WRC_Prune;
} }
/* Fall thru */ /* no break */ deliberate_fall_through
case TK_COLUMN: case TK_COLUMN:
case TK_AGG_FUNCTION: case TK_AGG_FUNCTION:
case TK_AGG_COLUMN: case TK_AGG_COLUMN:
@@ -2043,7 +2043,7 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){ if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){
return WRC_Continue; return WRC_Continue;
} }
/* Fall through */ /* no break */ deliberate_fall_through
case TK_IF_NULL_ROW: case TK_IF_NULL_ROW:
case TK_REGISTER: case TK_REGISTER:
case TK_DOT: case TK_DOT:
@@ -2064,7 +2064,7 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
pWalker->eCode = 0; pWalker->eCode = 0;
return WRC_Abort; return WRC_Abort;
} }
/* Fall through */ /* no break */ deliberate_fall_through
default: default:
testcase( pExpr->op==TK_SELECT ); /* sqlite3SelectWalkFail() disallows */ testcase( pExpr->op==TK_SELECT ); /* sqlite3SelectWalkFail() disallows */
testcase( pExpr->op==TK_EXISTS ); /* sqlite3SelectWalkFail() disallows */ testcase( pExpr->op==TK_EXISTS ); /* sqlite3SelectWalkFail() disallows */
@@ -3836,6 +3836,7 @@ expr_code_doover:
return target; return target;
} }
/* Otherwise, fall thru into the TK_COLUMN case */ /* Otherwise, fall thru into the TK_COLUMN case */
/* no break */ deliberate_fall_through
} }
case TK_COLUMN: { case TK_COLUMN: {
int iTab = pExpr->iTable; int iTab = pExpr->iTable;
@@ -4901,7 +4902,7 @@ void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
testcase( op==TK_ISNOT ); testcase( op==TK_ISNOT );
op = (op==TK_IS) ? TK_EQ : TK_NE; op = (op==TK_IS) ? TK_EQ : TK_NE;
jumpIfNull = SQLITE_NULLEQ; jumpIfNull = SQLITE_NULLEQ;
/* Fall thru */ /* no break */ deliberate_fall_through
case TK_LT: case TK_LT:
case TK_LE: case TK_LE:
case TK_GT: case TK_GT:
@@ -5077,7 +5078,7 @@ void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
testcase( pExpr->op==TK_ISNOT ); testcase( pExpr->op==TK_ISNOT );
op = (pExpr->op==TK_IS) ? TK_NE : TK_EQ; op = (pExpr->op==TK_IS) ? TK_NE : TK_EQ;
jumpIfNull = SQLITE_NULLEQ; jumpIfNull = SQLITE_NULLEQ;
/* Fall thru */ /* no break */ deliberate_fall_through
case TK_LT: case TK_LT:
case TK_LE: case TK_LE:
case TK_GT: case TK_GT:
@@ -5389,13 +5390,13 @@ static int exprImpliesNotNull(
case TK_RSHIFT: case TK_RSHIFT:
case TK_CONCAT: case TK_CONCAT:
seenNot = 1; seenNot = 1;
/* Fall thru */ /* no break */ deliberate_fall_through
case TK_STAR: case TK_STAR:
case TK_REM: case TK_REM:
case TK_BITAND: case TK_BITAND:
case TK_SLASH: { case TK_SLASH: {
if( exprImpliesNotNull(pParse, p->pRight, pNN, iTab, seenNot) ) return 1; if( exprImpliesNotNull(pParse, p->pRight, pNN, iTab, seenNot) ) return 1;
/* Fall thru into the next case */ /* no break */ deliberate_fall_through
} }
case TK_SPAN: case TK_SPAN:
case TK_COLLATE: case TK_COLLATE:
@@ -5544,6 +5545,7 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
){ ){
return WRC_Prune; return WRC_Prune;
} }
/* no break */ deliberate_fall_through
} }
default: default:
return WRC_Continue; return WRC_Continue;

View File

@@ -1359,6 +1359,7 @@ static Trigger *fkActionTrigger(
pStep->op = TK_DELETE; pStep->op = TK_DELETE;
break; break;
} }
/* no break */ deliberate_fall_through
default: default:
pStep->op = TK_UPDATE; pStep->op = TK_UPDATE;
} }

View File

@@ -1612,7 +1612,7 @@ void sqlite3GenerateConstraintChecks(
} }
case OE_Abort: case OE_Abort:
sqlite3MayAbort(pParse); sqlite3MayAbort(pParse);
/* Fall through */ /* no break */ deliberate_fall_through
case OE_Rollback: case OE_Rollback:
case OE_Fail: { case OE_Fail: {
char *zMsg = sqlite3MPrintf(db, "%s.%s", pTab->zName, char *zMsg = sqlite3MPrintf(db, "%s.%s", pTab->zName,
@@ -1840,7 +1840,7 @@ void sqlite3GenerateConstraintChecks(
switch( onError ){ switch( onError ){
default: { default: {
onError = OE_Abort; onError = OE_Abort;
/* Fall thru into the next case */ /* no break */ deliberate_fall_through
} }
case OE_Rollback: case OE_Rollback:
case OE_Abort: case OE_Abort:
@@ -1901,7 +1901,7 @@ void sqlite3GenerateConstraintChecks(
#ifndef SQLITE_OMIT_UPSERT #ifndef SQLITE_OMIT_UPSERT
case OE_Update: { case OE_Update: {
sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, 0, iDataCur); sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, 0, iDataCur);
/* Fall through */ /* no break */ deliberate_fall_through
} }
#endif #endif
case OE_Ignore: { case OE_Ignore: {
@@ -2122,7 +2122,7 @@ void sqlite3GenerateConstraintChecks(
#ifndef SQLITE_OMIT_UPSERT #ifndef SQLITE_OMIT_UPSERT
case OE_Update: { case OE_Update: {
sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, pIdx, iIdxCur+ix); sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, pIdx, iIdxCur+ix);
/* Fall through */ /* no break */ deliberate_fall_through
} }
#endif #endif
case OE_Ignore: { case OE_Ignore: {

View File

@@ -1202,7 +1202,7 @@ static int sqlite3Close(sqlite3 *db, int forceZombie){
} }
sqlite3_mutex_enter(db->mutex); sqlite3_mutex_enter(db->mutex);
if( db->mTrace & SQLITE_TRACE_CLOSE ){ if( db->mTrace & SQLITE_TRACE_CLOSE ){
db->xTrace(SQLITE_TRACE_CLOSE, db->pTraceArg, db, 0); db->trace.xV2(SQLITE_TRACE_CLOSE, db->pTraceArg, db, 0);
} }
/* Force xDisconnect calls on all virtual tables */ /* Force xDisconnect calls on all virtual tables */
@@ -2091,7 +2091,7 @@ void *sqlite3_trace(sqlite3 *db, void(*xTrace)(void*,const char*), void *pArg){
sqlite3_mutex_enter(db->mutex); sqlite3_mutex_enter(db->mutex);
pOld = db->pTraceArg; pOld = db->pTraceArg;
db->mTrace = xTrace ? SQLITE_TRACE_LEGACY : 0; db->mTrace = xTrace ? SQLITE_TRACE_LEGACY : 0;
db->xTrace = (int(*)(u32,void*,void*,void*))xTrace; db->trace.xLegacy = xTrace;
db->pTraceArg = pArg; db->pTraceArg = pArg;
sqlite3_mutex_leave(db->mutex); sqlite3_mutex_leave(db->mutex);
return pOld; return pOld;
@@ -2115,7 +2115,7 @@ int sqlite3_trace_v2(
if( mTrace==0 ) xTrace = 0; if( mTrace==0 ) xTrace = 0;
if( xTrace==0 ) mTrace = 0; if( xTrace==0 ) mTrace = 0;
db->mTrace = mTrace; db->mTrace = mTrace;
db->xTrace = xTrace; db->trace.xV2 = xTrace;
db->pTraceArg = pArg; db->pTraceArg = pArg;
sqlite3_mutex_leave(db->mutex); sqlite3_mutex_leave(db->mutex);
return SQLITE_OK; return SQLITE_OK;

View File

@@ -407,11 +407,11 @@ void sqlite3_str_vappendf(
case etPOINTER: case etPOINTER:
flag_long = sizeof(char*)==sizeof(i64) ? 2 : flag_long = sizeof(char*)==sizeof(i64) ? 2 :
sizeof(char*)==sizeof(long int) ? 1 : 0; sizeof(char*)==sizeof(long int) ? 1 : 0;
/* Fall through into the next case */ /* no break */ deliberate_fall_through
case etORDINAL: case etORDINAL:
case etRADIX: case etRADIX:
cThousand = 0; cThousand = 0;
/* Fall through into the next case */ /* no break */ deliberate_fall_through
case etDECIMAL: case etDECIMAL:
if( infop->flags & FLAG_SIGNED ){ if( infop->flags & FLAG_SIGNED ){
i64 v; i64 v;

View File

@@ -1084,7 +1084,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
return WRC_Continue; return WRC_Continue;
} }
} }
/* Fall thru */ /* no break */ deliberate_fall_through
} }
case TK_BETWEEN: case TK_BETWEEN:
case TK_EQ: case TK_EQ:

View File

@@ -128,6 +128,15 @@
# define _BSD_SOURCE # define _BSD_SOURCE
#endif #endif
/*
** Macro to disable warnings about missing "break" at the end of a "case".
*/
#if GCC_VERSION>=7000000
# define deliberate_fall_through __attribute__((fallthrough));
#else
# define deliberate_fall_through
#endif
/* /*
** For MinGW, check to see if we can include the header file containing its ** For MinGW, check to see if we can include the header file containing its
** version information, among other things. Normally, this internal MinGW ** version information, among other things. Normally, this internal MinGW
@@ -1046,7 +1055,7 @@ struct BusyHandler {
** pointer will work here as long as it is distinct from SQLITE_STATIC ** pointer will work here as long as it is distinct from SQLITE_STATIC
** and SQLITE_TRANSIENT. ** and SQLITE_TRANSIENT.
*/ */
#define SQLITE_DYNAMIC ((sqlite3_destructor_type)sqlite3MallocSize) #define SQLITE_DYNAMIC ((sqlite3_destructor_type)sqlite3OomFault)
/* /*
** When SQLITE_OMIT_WSD is defined, it means that the target platform does ** When SQLITE_OMIT_WSD is defined, it means that the target platform does
@@ -1497,7 +1506,10 @@ struct sqlite3 {
int nVDestroy; /* Number of active OP_VDestroy operations */ int nVDestroy; /* Number of active OP_VDestroy operations */
int nExtension; /* Number of loaded extensions */ int nExtension; /* Number of loaded extensions */
void **aExtension; /* Array of shared library handles */ void **aExtension; /* Array of shared library handles */
int (*xTrace)(u32,void*,void*,void*); /* Trace function */ union {
void (*xLegacy)(void*,const char*); /* Legacy trace function */
int (*xV2)(u32,void*,void*,void*); /* V2 Trace function */
} trace;
void *pTraceArg; /* Argument to the trace function */ void *pTraceArg; /* Argument to the trace function */
#ifndef SQLITE_OMIT_DEPRECATED #ifndef SQLITE_OMIT_DEPRECATED
void (*xProfile)(void*,const char*,u64); /* Profiling function */ void (*xProfile)(void*,const char*,u64); /* Profiling function */

View File

@@ -352,7 +352,7 @@ int sqlite3_db_status(
*/ */
case SQLITE_DBSTATUS_CACHE_SPILL: case SQLITE_DBSTATUS_CACHE_SPILL:
op = SQLITE_DBSTATUS_CACHE_WRITE+1; op = SQLITE_DBSTATUS_CACHE_WRITE+1;
/* Fall through into the next case */ /* no break */ deliberate_fall_through
case SQLITE_DBSTATUS_CACHE_HIT: case SQLITE_DBSTATUS_CACHE_HIT:
case SQLITE_DBSTATUS_CACHE_MISS: case SQLITE_DBSTATUS_CACHE_MISS:
case SQLITE_DBSTATUS_CACHE_WRITE:{ case SQLITE_DBSTATUS_CACHE_WRITE:{

View File

@@ -422,6 +422,7 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){
} }
/* If the next character is a digit, this is a floating point /* If the next character is a digit, this is a floating point
** number that begins with ".". Fall thru into the next case */ ** number that begins with ".". Fall thru into the next case */
/* no break */ deliberate_fall_through
} }
case CC_DIGIT: { case CC_DIGIT: {
testcase( z[0]=='0' ); testcase( z[0]=='1' ); testcase( z[0]=='2' ); testcase( z[0]=='0' ); testcase( z[0]=='1' ); testcase( z[0]=='2' );
@@ -526,6 +527,7 @@ int sqlite3GetToken(const unsigned char *z, int *tokenType){
#endif #endif
/* If it is not a BLOB literal, then it must be an ID, since no /* If it is not a BLOB literal, then it must be an ID, since no
** SQL keywords start with the letter 'x'. Fall through */ ** SQL keywords start with the letter 'x'. Fall through */
/* no break */ deliberate_fall_through
} }
case CC_ID: { case CC_ID: {
i = 1; i = 1;

View File

@@ -1033,6 +1033,7 @@ case OP_HaltIfNull: { /* in3 */
#endif #endif
if( (pIn3->flags & MEM_Null)==0 ) break; if( (pIn3->flags & MEM_Null)==0 ) break;
/* Fall through into OP_Halt */ /* Fall through into OP_Halt */
/* no break */ deliberate_fall_through
} }
/* Opcode: Halt P1 P2 * P4 P5 /* Opcode: Halt P1 P2 * P4 P5
@@ -1203,6 +1204,7 @@ case OP_String8: { /* same as TK_STRING, out2 */
pOp->opcode = OP_String; pOp->opcode = OP_String;
assert( rc==SQLITE_OK ); assert( rc==SQLITE_OK );
/* Fall through to the next case, OP_String */ /* Fall through to the next case, OP_String */
/* no break */ deliberate_fall_through
} }
/* Opcode: String P1 P2 P3 P4 P5 /* Opcode: String P1 P2 P3 P4 P5
@@ -1514,7 +1516,7 @@ case OP_ResultRow: {
if( db->mallocFailed ) goto no_mem; if( db->mallocFailed ) goto no_mem;
if( db->mTrace & SQLITE_TRACE_ROW ){ if( db->mTrace & SQLITE_TRACE_ROW ){
db->xTrace(SQLITE_TRACE_ROW, db->pTraceArg, p, 0); db->trace.xV2(SQLITE_TRACE_ROW, db->pTraceArg, p, 0);
} }
@@ -4507,6 +4509,7 @@ case OP_IfNoHope: { /* jump, in3 */
assert( pC!=0 ); assert( pC!=0 );
if( pC->seekHit ) break; if( pC->seekHit ) break;
/* Fall through into OP_NotFound */ /* Fall through into OP_NotFound */
/* no break */ deliberate_fall_through
} }
case OP_NoConflict: /* jump, in3 */ case OP_NoConflict: /* jump, in3 */
case OP_NotFound: /* jump, in3 */ case OP_NotFound: /* jump, in3 */
@@ -4661,6 +4664,7 @@ case OP_SeekRowid: { /* jump, in3 */
goto notExistsWithKey; goto notExistsWithKey;
} }
/* Fall through into OP_NotExists */ /* Fall through into OP_NotExists */
/* no break */ deliberate_fall_through
case OP_NotExists: /* jump, in3 */ case OP_NotExists: /* jump, in3 */
pIn3 = &aMem[pOp->p3]; pIn3 = &aMem[pOp->p3];
assert( (pIn3->flags & MEM_Int)!=0 || pOp->opcode==OP_SeekRowid ); assert( (pIn3->flags & MEM_Int)!=0 || pOp->opcode==OP_SeekRowid );
@@ -5432,6 +5436,7 @@ case OP_Sort: { /* jump */
#endif #endif
p->aCounter[SQLITE_STMTSTATUS_SORT]++; p->aCounter[SQLITE_STMTSTATUS_SORT]++;
/* Fall through into OP_Rewind */ /* Fall through into OP_Rewind */
/* no break */ deliberate_fall_through
} }
/* Opcode: Rewind P1 P2 * * * /* Opcode: Rewind P1 P2 * * *
** **
@@ -6785,6 +6790,7 @@ case OP_AggStep: {
pOp->opcode = OP_AggStep1; pOp->opcode = OP_AggStep1;
/* Fall through into OP_AggStep */ /* Fall through into OP_AggStep */
/* no break */ deliberate_fall_through
} }
case OP_AggStep1: { case OP_AggStep1: {
int i; int i;
@@ -7774,18 +7780,17 @@ case OP_Init: { /* jump */
){ ){
#ifndef SQLITE_OMIT_DEPRECATED #ifndef SQLITE_OMIT_DEPRECATED
if( db->mTrace & SQLITE_TRACE_LEGACY ){ if( db->mTrace & SQLITE_TRACE_LEGACY ){
void (*x)(void*,const char*) = (void(*)(void*,const char*))db->xTrace;
char *z = sqlite3VdbeExpandSql(p, zTrace); char *z = sqlite3VdbeExpandSql(p, zTrace);
x(db->pTraceArg, z); db->trace.xLegacy(db->pTraceArg, z);
sqlite3_free(z); sqlite3_free(z);
}else }else
#endif #endif
if( db->nVdbeExec>1 ){ if( db->nVdbeExec>1 ){
char *z = sqlite3MPrintf(db, "-- %s", zTrace); char *z = sqlite3MPrintf(db, "-- %s", zTrace);
(void)db->xTrace(SQLITE_TRACE_STMT, db->pTraceArg, p, z); (void)db->trace.xV2(SQLITE_TRACE_STMT, db->pTraceArg, p, z);
sqlite3DbFree(db, z); sqlite3DbFree(db, z);
}else{ }else{
(void)db->xTrace(SQLITE_TRACE_STMT, db->pTraceArg, p, zTrace); (void)db->trace.xV2(SQLITE_TRACE_STMT, db->pTraceArg, p, zTrace);
} }
} }
#ifdef SQLITE_USE_FCNTL_TRACE #ifdef SQLITE_USE_FCNTL_TRACE

View File

@@ -73,7 +73,7 @@ static SQLITE_NOINLINE void invokeProfileCallback(sqlite3 *db, Vdbe *p){
} }
#endif #endif
if( db->mTrace & SQLITE_TRACE_PROFILE ){ if( db->mTrace & SQLITE_TRACE_PROFILE ){
db->xTrace(SQLITE_TRACE_PROFILE, db->pTraceArg, p, (void*)&iElapse); db->trace.xV2(SQLITE_TRACE_PROFILE, db->pTraceArg, p, (void*)&iElapse);
} }
p->startTime = 0; p->startTime = 0;
} }

View File

@@ -808,7 +808,7 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){
switch( pOp->opcode ){ switch( pOp->opcode ){
case OP_Transaction: { case OP_Transaction: {
if( pOp->p2!=0 ) p->readOnly = 0; if( pOp->p2!=0 ) p->readOnly = 0;
/* fall thru */ /* no break */ deliberate_fall_through
} }
case OP_AutoCommit: case OP_AutoCommit:
case OP_Savepoint: { case OP_Savepoint: {
@@ -855,6 +855,7 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){
n = pOp[-1].p1; n = pOp[-1].p1;
if( n>nMaxArgs ) nMaxArgs = n; if( n>nMaxArgs ) nMaxArgs = n;
/* Fall through into the default case */ /* Fall through into the default case */
/* no break */ deliberate_fall_through
} }
#endif #endif
default: { default: {

View File

@@ -783,7 +783,7 @@ static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){
} }
} }
} }
/* Fall through. */ /* no break */ deliberate_fall_through
case TK_AGG_FUNCTION: case TK_AGG_FUNCTION:
case TK_COLUMN: { case TK_COLUMN: {