From: drh <> Date: Wed, 4 Aug 2021 14:50:23 +0000 (+0000) Subject: Add NEVER() macros on recently introduced unreachable branches. X-Git-Tag: version-3.37.0~296 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=324f91a591ba4578917ab0436a966ff33b163a2a;p=thirdparty%2Fsqlite.git Add NEVER() macros on recently introduced unreachable branches. FossilOrigin-Name: 806939eb5947f9187dc9c4814b26e9f94ec0186596c7be97981dbea7c2169c26 --- diff --git a/manifest b/manifest index fc56110403..019a53ba43 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Always\sprefer\sbuilt-in\sSQL\sfunctions\sover\sapp-defined\sSQL\sfunctions\swithin\nsqlite3NestedParse().\s\sFormerly\sthis\swas\sthe\scase\sfor\sa\sfew\scalls\sto\nsqlite3NestedParse(),\sbut\snot\sfor\sall\sof\sthem. -D 2021-08-04T13:42:12.499 +C Add\sNEVER()\smacros\son\srecently\sintroduced\sunreachable\sbranches. +D 2021-08-04T14:50:23.224 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -488,7 +488,7 @@ F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 F src/btree.c e204a9c8fb4fe5dbb910a863ba487f4af9b5c501254ec4ccbfcdd6b1f65b7fb4 F src/btree.h 74d64b8f28cfa4a894d14d4ed64fa432cd697b98b61708d4351482ae15913e22 F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0 -F src/build.c 2fa4c605434bf7588ef792d83259de187c81409e057c350b99588ec544b0c77b +F src/build.c 9d607ffcaeb6120daf8fdc229b064f9de1be3cfc7188d0d4fff010ca2f05c835 F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 8159d5f706551861c18ec6c8f6bdf105e15ea00367f05d9ab65d31a1077facc1 @@ -1920,7 +1920,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 7cbd8cd5aa768a0b72f769fa390fae1158d1dcfac5273b9d0238ecf2f52e273d -R 8f9e54c9a810ab73269f0d593c6345e7 +P 164662ef01ad45ca570c44631a1117cccce6e34b00dbba7f422c089e8ffaa932 +R 4753b5d71292c9ebc3a2ba2d009a17d6 U drh -Z 3388d313189ca669bee6e10c99f7b5aa +Z 98a283af33e1b680aea1e6779f6dcf99 diff --git a/manifest.uuid b/manifest.uuid index 18de7f85cf..de16e75317 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -164662ef01ad45ca570c44631a1117cccce6e34b00dbba7f422c089e8ffaa932 \ No newline at end of file +806939eb5947f9187dc9c4814b26e9f94ec0186596c7be97981dbea7c2169c26 \ No newline at end of file diff --git a/src/build.c b/src/build.c index a0d164336f..942dc85f8b 100644 --- a/src/build.c +++ b/src/build.c @@ -686,8 +686,8 @@ void sqlite3ColumnSetExpr( assert( !IsVirtual(pTab) ); pList = pTab->u.tab.pDfltList; if( pCol->iDflt==0 - || pList==0 - || pList->nExpriDflt + || NEVER(pList==0) + || NEVER(pList->nExpriDflt) ){ pCol->iDflt = pList==0 ? 1 : pList->nExpr+1; pTab->u.tab.pDfltList = sqlite3ExprListAppend(pParse, pList, pExpr); @@ -704,9 +704,9 @@ void sqlite3ColumnSetExpr( */ Expr *sqlite3ColumnExpr(Table *pTab, Column *pCol){ if( pCol->iDflt==0 ) return 0; - if( IsVirtual(pTab) ) return 0; - if( pTab->u.tab.pDfltList==0 ) return 0; - if( pTab->u.tab.pDfltList->nExpriDflt ) return 0; + if( NEVER(IsVirtual(pTab)) ) return 0; + if( NEVER(pTab->u.tab.pDfltList==0) ) return 0; + if( NEVER(pTab->u.tab.pDfltList->nExpriDflt) ) return 0; return pTab->u.tab.pDfltList->a[pCol->iDflt-1].pExpr; } @@ -3561,7 +3561,7 @@ void sqlite3DeferForeignKey(Parse *pParse, int isDeferred){ Table *pTab; FKey *pFKey; if( (pTab = pParse->pNewTable)==0 ) return; - if( IsVirtual(pTab) ) return; + if( NEVER(IsVirtual(pTab)) ) return; if( (pFKey = pTab->u.tab.pFKey)==0 ) return; assert( isDeferred==0 || isDeferred==1 ); /* EV: R-30323-21917 */ pFKey->isDeferred = (u8)isDeferred;