-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Open
Description
Building under GCC 14.0.1
with -flto
(Fedora Rawhide) currently results in a number of -Wmaybe-uninitialized
warnings. Some of these are things we might not want to "fix", i.e in test code. Some come from leveldb etc. Open this issue to document them, as some exist with current versions of GCC, and GCC 14.0 will be released soon:
leveldb/db/memtable.cc: In function 'GetLengthPrefixedSlice':
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
In function 'GetLengthPrefixedSlice',
inlined from 'operator()' at leveldb/db/memtable.cc:32:35,
inlined from 'KeyIsAfterNode' at ./leveldb/db/skiplist.h:257:37,
inlined from 'FindGreaterOrEqual' at ./leveldb/db/skiplist.h:268:23:
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc: In member function 'FindGreaterOrEqual':
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
leveldb/db/memtable.cc: In member function 'Get':
leveldb/db/memtable.cc:119:39: warning: 'key_length' may be used uninitialized [-Wmaybe-uninitialized]
119 | Slice(key_ptr, key_length - 8), key.user_key()) == 0) {
| ^
leveldb/db/memtable.cc:116:14: note: 'key_length' was declared here
116 | uint32_t key_length;
| ^
In member function 'operator=',
inlined from '__ct ' at test/prevector_tests.cpp:215:49,
inlined from 'test_method.isra' at test/prevector_tests.cpp:222:34:
random.cpp:749:19: warning: 'D.58376.bitbuf' is used uninitialized [-Wuninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/prevector_tests.cpp: In function 'test_method.isra':
test/prevector_tests.cpp:215:22: note: '<anonymous>' declared here
215 | rand_cache = FastRandomContext(rand_seed);
| ^
leveldb/db/memtable.cc: In function 'GetLengthPrefixedSlice':
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
leveldb/db/memtable.cc: In function 'GetLengthPrefixedSlice':
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
In function 'GetLengthPrefixedSlice',
inlined from 'operator()' at leveldb/db/memtable.cc:32:35,
inlined from 'KeyIsAfterNode' at ./leveldb/db/skiplist.h:257:37,
inlined from 'FindGreaterOrEqual' at ./leveldb/db/skiplist.h:268:23:
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc: In member function 'FindGreaterOrEqual':
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
In function 'GetLengthPrefixedSlice',
inlined from 'operator()' at leveldb/db/memtable.cc:32:35,
inlined from 'KeyIsAfterNode' at ./leveldb/db/skiplist.h:257:37,
inlined from 'FindGreaterOrEqual' at ./leveldb/db/skiplist.h:268:23:
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc: In member function 'FindGreaterOrEqual':
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
leveldb/db/memtable.cc: In member function 'Get':
leveldb/db/memtable.cc:119:39: warning: 'key_length' may be used uninitialized [-Wmaybe-uninitialized]
119 | Slice(key_ptr, key_length - 8), key.user_key()) == 0) {
| ^
leveldb/db/memtable.cc:116:14: note: 'key_length' was declared here
116 | uint32_t key_length;
| ^
In member function 'operator=',
inlined from 'Seed.constprop' at test/util/random.cpp:32:33:
random.cpp:749:19: warning: 'D.69037.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/util/random.cpp: In function 'Seed.constprop':
test/util/random.cpp:32:33: note: '<anonymous>' declared here
32 | ctx = FastRandomContext(seed);
| ^
leveldb/db/memtable.cc: In member function 'Get':
leveldb/db/memtable.cc:119:39: warning: 'key_length' may be used uninitialized [-Wmaybe-uninitialized]
119 | Slice(key_ptr, key_length - 8), key.user_key()) == 0) {
| ^
leveldb/db/memtable.cc:116:14: note: 'key_length' was declared here
116 | uint32_t key_length;
| ^
In member function 'operator=',
inlined from 'Seed' at test/util/random.cpp:32:33,
inlined from 'SeedInsecureRand' at ./test/util/random.h:41:13,
inlined from '__ct_base ' at test/util/setup_common.cpp:184:21:
random.cpp:749:19: warning: 'D.40691.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/util/random.cpp: In member function '__ct_base ':
test/util/random.cpp:32:33: note: '<anonymous>' declared here
32 | ctx = FastRandomContext(seed);
| ^
leveldb/db/memtable.cc: In function 'GetLengthPrefixedSlice':
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
In function 'GetLengthPrefixedSlice',
inlined from 'operator()' at leveldb/db/memtable.cc:32:35,
inlined from 'KeyIsAfterNode' at ./leveldb/db/skiplist.h:257:37,
inlined from 'FindGreaterOrEqual' at ./leveldb/db/skiplist.h:268:23:
leveldb/db/memtable.cc:18:22: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized]
18 | return Slice(p, len);
| ^
leveldb/db/memtable.cc: In member function 'FindGreaterOrEqual':
leveldb/db/memtable.cc:15:12: note: 'len' was declared here
15 | uint32_t len;
| ^
leveldb/db/memtable.cc: In member function 'Get':
leveldb/db/memtable.cc:119:39: warning: 'key_length' may be used uninitialized [-Wmaybe-uninitialized]
119 | Slice(key_ptr, key_length - 8), key.user_key()) == 0) {
| ^
leveldb/db/memtable.cc:116:14: note: 'key_length' was declared here
116 | uint32_t key_length;
| ^
test/fuzz/float.cpp: In function 'float_fuzz_target':
test/fuzz/float.cpp:49:40: warning: 'tmp' may be used uninitialized [-Wmaybe-uninitialized]
49 | uint64_t encoded = EncodeDouble(d);
| ^
test/fuzz/float.cpp:21:20: note: 'tmp' was declared here
21 | double tmp;
| ^
In member function 'operator=',
inlined from 'operator()' at test/fuzz/addrman.cpp:127:9,
inlined from '__ct ' at test/fuzz/addrman.cpp:127:9,
inlined from 'addrman_serdeser_fuzz_target' at test/fuzz/addrman.cpp:295:69:
random.cpp:749:19: warning: 'D.36455.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/fuzz/addrman.cpp: In function 'addrman_serdeser_fuzz_target':
test/fuzz/addrman.cpp:127:9: note: '<anonymous>' declared here
127 | WITH_LOCK(m_impl->cs, m_impl->insecure_rand = FastRandomContext{ConsumeUInt256(fuzzed_data_provider)});
| ^
In member function 'operator=',
inlined from 'operator()' at test/fuzz/addrman.cpp:127:9,
inlined from '__ct ' at test/fuzz/addrman.cpp:127:9,
inlined from 'addrman_serdeser_fuzz_target' at test/fuzz/addrman.cpp:296:69:
random.cpp:749:19: warning: 'D.36632.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/fuzz/addrman.cpp: In function 'addrman_serdeser_fuzz_target':
test/fuzz/addrman.cpp:127:9: note: '<anonymous>' declared here
127 | WITH_LOCK(m_impl->cs, m_impl->insecure_rand = FastRandomContext{ConsumeUInt256(fuzzed_data_provider)});
| ^
In member function 'operator=',
inlined from 'SeedInsecureRand' at ./test/util/random.h:39:72,
inlined from 'SeedInsecureRand' at ./test/util/random.h:36:20,
inlined from 'test_method' at test/cuckoocache_tests.cpp:40:21,
inlined from 'test_cuckoocache_no_fakes_invoker' at test/cuckoocache_tests.cpp:38:1:
random.cpp:749:19: warning: 'D.46810.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
./test/util/random.h: In function 'test_cuckoocache_no_fakes_invoker':
./test/util/random.h:39:72: note: '<anonymous>' declared here
39 | g_insecure_rand_ctx = FastRandomContext(/*fDeterministic=*/true);
| ^
In member function 'operator=',
inlined from 'SeedInsecureRand' at ./test/util/random.h:39:72,
inlined from 'SeedInsecureRand' at ./test/util/random.h:36:20,
inlined from 'test_cache' at test/cuckoocache_tests.cpp:58:21,
inlined from 'test_method' at test/cuckoocache_tests.cpp:117:84,
inlined from 'cuckoocache_hit_rate_ok_invoker' at test/cuckoocache_tests.cpp:109:1:
random.cpp:749:19: warning: 'D.48398.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
./test/util/random.h: In function 'cuckoocache_hit_rate_ok_invoker':
./test/util/random.h:39:72: note: '<anonymous>' declared here
39 | g_insecure_rand_ctx = FastRandomContext(/*fDeterministic=*/true);
| ^
In member function 'operator=',
inlined from 'SeedInsecureRand' at ./test/util/random.h:39:72,
inlined from 'SeedInsecureRand' at ./test/util/random.h:36:20,
inlined from 'test_cache_erase' at test/cuckoocache_tests.cpp:129:21,
inlined from 'test_method' at test/cuckoocache_tests.cpp:185:72,
inlined from 'cuckoocache_erase_ok_invoker' at test/cuckoocache_tests.cpp:182:1:
random.cpp:749:19: warning: 'D.50490.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
./test/util/random.h: In function 'cuckoocache_erase_ok_invoker':
./test/util/random.h:39:72: note: '<anonymous>' declared here
39 | g_insecure_rand_ctx = FastRandomContext(/*fDeterministic=*/true);
| ^
In function '__fill_a1',
inlined from '__fill_a1' at /usr/include/c++/14/bits/stl_algobase.h:981:21,
inlined from '__fill_a' at /usr/include/c++/14/bits/stl_algobase.h:998:21,
inlined from 'fill' at /usr/include/c++/14/bits/stl_algobase.h:1029:20,
inlined from 'PollutePubKey' at wallet/test/wallet_tests.cpp:503:14:
/usr/include/c++/14/bits/stl_algobase.h:952:18: warning: '__builtin_memset' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
952 | *__first = __tmp;
| ^
In member function 'operator=',
inlined from 'SeedInsecureRand' at ./test/util/random.h:39:0,
inlined from 'test_method' at test/util_tests.cpp:448:21,
inlined from 'util_seed_insecure_rand_invoker' at test/util_tests.cpp:446:1:
random.cpp:749:19: warning: 'D.49511.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
./test/util/random.h: In function 'util_seed_insecure_rand_invoker':
./test/util/random.h:39: note: '<anonymous>' declared here
39 | g_insecure_rand_ctx = FastRandomContext(/*fDeterministic=*/true);
In member function 'operator=',
inlined from 'operator()' at test/fuzz/addrman.cpp:127:9,
inlined from '__ct ' at test/fuzz/addrman.cpp:127:9,
inlined from 'make_unique' at /usr/include/c++/14/bits/unique_ptr.h:1076:30,
inlined from 'addrman_fuzz_target' at test/fuzz/addrman.cpp:228:97:
random.cpp:749:19: warning: 'D.38104.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/fuzz/addrman.cpp: In function 'addrman_fuzz_target':
test/fuzz/addrman.cpp:127:9: note: '<anonymous>' declared here
127 | WITH_LOCK(m_impl->cs, m_impl->insecure_rand = FastRandomContext{ConsumeUInt256(fuzzed_data_provider)});
| ^
In member function 'operator=',
inlined from 'operator()' at test/fuzz/addrman.cpp:127:9,
inlined from '__ct ' at test/fuzz/addrman.cpp:127:9,
inlined from 'make_unique' at /usr/include/c++/14/bits/unique_ptr.h:1076:30,
inlined from 'addrman_fuzz_target' at test/fuzz/addrman.cpp:235:66:
random.cpp:749:19: warning: 'D.41251.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/fuzz/addrman.cpp: In function 'addrman_fuzz_target':
test/fuzz/addrman.cpp:127:9: note: '<anonymous>' declared here
127 | WITH_LOCK(m_impl->cs, m_impl->insecure_rand = FastRandomContext{ConsumeUInt256(fuzzed_data_provider)});
| ^
In member function 'operator=',
inlined from 'Seed' at test/util/random.cpp:32:33,
inlined from 'SeedInsecureRand' at ./test/util/random.h:41:13,
inlined from '__ct_base ' at test/util/setup_common.cpp:184:21:
random.cpp:749:19: warning: 'D.39055.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/util/random.cpp: In member function '__ct_base ':
test/util/random.cpp:32:33: note: '<anonymous>' declared here
32 | ctx = FastRandomContext(seed);
| ^
In member function 'operator=',
inlined from 'test_method' at test/orphanage_tests.cpp:57:56,
inlined from 'DoS_mapOrphans_invoker' at test/orphanage_tests.cpp:49:1:
random.cpp:749:19: warning: 'D.45887.bitbuf' may be used uninitialized [-Wmaybe-uninitialized]
749 | bitbuf = from.bitbuf;
| ^
test/orphanage_tests.cpp: In function 'DoS_mapOrphans_invoker':
test/orphanage_tests.cpp:57:56: note: '<anonymous>' declared here
57 | g_insecure_rand_ctx = FastRandomContext{uint256{33}};
| ^
In member function '__ct ',
inlined from 'construct_at' at /usr/include/c++/14/bits/stl_construct.h:97:14,
inlined from 'construct' at /usr/include/c++/14/bits/alloc_traits.h:536:21,
inlined from '_M_realloc_append' at /usr/include/c++/14/bits/vector.tcc:634:26,
inlined from 'emplace_back' at /usr/include/c++/14/bits/vector.tcc:123:21,
inlined from 'test_method' at test/logging_tests.cpp:166:45,
inlined from 'logging_LogPrintMacros_CategoryName_invoker' at test/logging_tests.cpp:156:1:
/usr/include/c++/14/bits/stl_pair.h:444:11: warning: 'category' may be used uninitialized [-Wmaybe-uninitialized]
444 | : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y))
| ^
test/logging_tests.cpp: In function 'logging_LogPrintMacros_CategoryName_invoker':
test/logging_tests.cpp:163:25: note: 'category' was declared here
163 | BCLog::LogFlags category;
| ^
Metadata
Metadata
Assignees
Labels
No labels