From: drh Date: Thu, 2 Jan 2020 22:23:01 +0000 (+0000) Subject: NEVER() and ALWAYS() macros tagging unreachable branches. X-Git-Tag: version-3.31.0~87^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9fc1b9af36e54c7863a9404a9611abfb4b682374;p=thirdparty%2Fsqlite.git NEVER() and ALWAYS() macros tagging unreachable branches. FossilOrigin-Name: 34b877742ef78e9bb3f16815180f4ad9cd722beb1d610f713400a3b25d68aa9b --- diff --git a/manifest b/manifest index 752a4f3e35..7cfd44f858 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\sthe\slatest\senhancements\sfrom\strunk. -D 2020-01-02T21:41:59.033 +C NEVER()\sand\sALWAYS()\smacros\stagging\sunreachable\sbranches. +D 2020-01-02T22:23:01.861 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -462,7 +462,7 @@ F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a -F src/alter.c 92604dd52bd73dbc4f0cc4f4a1b1fdd366e53cb0503494291e5798524beb74ec +F src/alter.c f48a4423c8f198d7f1ae4940f74b606707d05384ac79fb219be8e3323af2a2de F src/analyze.c b3ceec3fc052df8a96ca8a8c858d455dc5029ba681b4be98bb5c5a9162cfa58c F src/attach.c b30c44333d55a68c0a12920b5b9d40b254cbd3d4509bda77417209eeed8b3d80 F src/auth.c a3d5bfdba83d25abed1013a8c7a5f204e2e29b0c25242a56bc02bb0c07bf1e06 @@ -526,7 +526,7 @@ F src/pragma.h ec3b31eac9b1df040f1cc8cb3d89bc06605c3b4cb3d76f833de8d6d6c3f77f04 F src/prepare.c 6049beb71385f017af6fc320d2c75a4e50b75e280c54232442b785fbb83df057 F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 -F src/resolve.c 6cc3ce3d674b027b437e5b3c4f0c29be7995dc8abf27f1ee8b16e3d070e19d2f +F src/resolve.c 938295261d556dc173e7c4b85c921b565b25c38656b924bdf03c3ff8f37e24ab F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93 F src/select.c 8791103f21df458fdaba16c7d6452f92b00363f222f0f242661654f12455ea0a F src/shell.c.in 90b002bf0054399cbbfac62dd752a9b05770427ba141bcba75eefbb0098f4280 @@ -1853,7 +1853,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 88d244983854cdc1a369c5df09ae00f1098784db768ba4e17b963d187dcb1009 7405e982257611803792617f5d8142c54f9831b4a030f4de8607888c525e6289 -R efdd5d9177183f4cebb9b751b044f27a +P bd57e6d923d3b04f0a07aaf18bf389d2b2b7efc7c57e8cb37e6ef910662d8397 +R 896a86b40586a93b7de7ff4de391d81d U drh -Z dc1b72a94a902754e9baf3ba10a5a0b3 +Z b012354b66730a3de909478223de72aa diff --git a/manifest.uuid b/manifest.uuid index d9e19f60fe..266bf3350f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bd57e6d923d3b04f0a07aaf18bf389d2b2b7efc7c57e8cb37e6ef910662d8397 \ No newline at end of file +34b877742ef78e9bb3f16815180f4ad9cd722beb1d610f713400a3b25d68aa9b \ No newline at end of file diff --git a/src/alter.c b/src/alter.c index f3caba4c18..ee193d18bf 100644 --- a/src/alter.c +++ b/src/alter.c @@ -811,7 +811,7 @@ void sqlite3RenameExprlistUnmap(Parse *pParse, ExprList *pEList){ sWalker.xExprCallback = renameUnmapExprCb; sqlite3WalkExprList(&sWalker, pEList); for(i=0; inExpr; i++){ - if( pEList->a[i].eEName==ENAME_NAME ){ + if( ALWAYS(pEList->a[i].eEName==ENAME_NAME) ){ sqlite3RenameTokenRemap(pParse, 0, (void*)pEList->a[i].zEName); } } @@ -952,7 +952,8 @@ static void renameColumnElistNames( int i; for(i=0; inExpr; i++){ char *zName = pEList->a[i].zEName; - if( pEList->a[i].eEName==ENAME_NAME + if( ALWAYS(pEList->a[i].eEName==ENAME_NAME) + && ALWAYS(zName!=0) && 0==sqlite3_stricmp(zName, zOld) ){ renameTokenFind(pParse, pCtx, (void*)zName); diff --git a/src/resolve.c b/src/resolve.c index 607cfd5df0..f69f9ef311 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -140,7 +140,7 @@ int sqlite3MatchEName( ){ int n; const char *zSpan; - if( pItem->eEName!=ENAME_TAB ) return 0; + if( NEVER(pItem->eEName!=ENAME_TAB) ) return 0; zSpan = pItem->zEName; for(n=0; ALWAYS(zSpan[n]) && zSpan[n]!='.'; n++){} if( zDb && (sqlite3StrNICmp(zSpan, zDb, n)!=0 || zDb[n]!=0) ){ @@ -451,9 +451,9 @@ static int lookupName( pEList = pNC->uNC.pEList; assert( pEList!=0 ); for(j=0; jnExpr; j++){ - char *zAs; + char *zAs = pEList->a[j].zEName; if( pEList->a[j].eEName==ENAME_NAME - && (zAs = pEList->a[j].zEName)!=0 + && ALWAYS(zAs!=0) && sqlite3StrICmp(zAs, zCol)==0 ){ Expr *pOrig; @@ -1125,7 +1125,7 @@ static int resolveAsName( for(i=0; inExpr; i++){ char *zAs = pEList->a[i].zEName; if( pEList->a[i].eEName==ENAME_NAME - && (zAs = pEList->a[i].zEName)!=0 + && ALWAYS(zAs!=0) && sqlite3StrICmp(zAs, zCol)==0 ){ return i+1;