Suppress two -Wmaybe-uninitialized warnings in indirect_ptr(...):
[…]
./prevector.h: In function ‘bool IsWitnessStandard(const CTransaction&, const CCoinsViewCache&)’:
./prevector.h:162:79: warning: ‘prevScript.prevector<28, unsigned char>::_union.prevector<28, unsigned char>::direct_or_indirect::<anonymous>.prevector<28, unsigned char>
::direct_or_indirect::<unnamed struct>::indirect’ may be used uninitialized in this
function [-Wmaybe-uninitialized]
T* indirect_ptr(difference_type pos) { return reinterpret_cast<T*>(_union.indirect) + pos; }
~~~~~~~^~~~~~~~
[…]
In file included from ./hash.h:11:0,
from ./pubkey.h:10,
from ./key.h:10,
from test/script_p2sh_tests.cpp:7:
./prevector.h: In member function ‘void script_p2sh_tests::sign::test_method()’:
./prevector.h:162:79: warning: ‘sigSave.prevector<28, unsigned char>::_union.prevector<28, unsigned char>::direct_or_indirect::<anonymous>.prevector<28, unsigned char>::direct_or_indirect::<unnamed struct>::indirect’ may be used uninitialized in this function [-Wmaybe-uninitialized]
T* indirect_ptr(difference_type pos) { return reinterpret_cast<T*>(_union.indirect) + pos; }
~~~~~~~^~~~~~~~
./prevector.h:181:69: warning: ‘sigSave.prevector<28, unsigned char>::_union.prevector<28, unsigned char>::direct_or_indirect::<anonymous>.prevector<28, unsigned char>::direct_or_indirect::<unnamed struct>::indirect’ may be used uninitialized in this function [-Wmaybe-uninitialized]
_union.indirect = static_cast<char*>(realloc(_union.indirect, ((size_t)sizeof(T)) * new_capacity));
~~~~~~~^~~~~~~~
[…]