mdbx: устранение "may be used uninitialized" предупреждений в LTO-сбрках из-за усложнения SSA/CTF вследствие добавления LOG_IFERR().

This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2024-11-27 18:26:24 +03:00
parent 28bd805ed8
commit 81a8127084
6 changed files with 75 additions and 35 deletions

View File

@@ -34,17 +34,21 @@ __cold int mdbx_is_readahead_reasonable(size_t volume, intptr_t redundancy) {
int mdbx_dbi_sequence(MDBX_txn *txn, MDBX_dbi dbi, uint64_t *result,
uint64_t increment) {
int rc = check_txn(txn, MDBX_TXN_BLOCKED);
if (unlikely(rc != MDBX_SUCCESS))
if (unlikely(rc != MDBX_SUCCESS)) {
bailout:
if (likely(result))
*result = ~UINT64_C(0);
return LOG_IFERR(rc);
}
rc = dbi_check(txn, dbi);
if (unlikely(rc != MDBX_SUCCESS))
return LOG_IFERR(rc);
goto bailout;
if (unlikely(txn->dbi_state[dbi] & DBI_STALE)) {
rc = tbl_fetch(txn, dbi);
if (unlikely(rc != MDBX_SUCCESS))
return LOG_IFERR(rc);
goto bailout;
}
tree_t *dbs = &txn->dbs[dbi];