MDEV-18878: Fix GCC -flifetime-dse
GCC 6 and later can optimize away the memset() that is part of mem_heap_zalloc() in a placement new call. So, instead of relying on that kind of initialization, explicitly initialize the necessary fields in the constructors. que_common_t::que_common_t(): Initialize more fields in the default constructor. purge_vcol_info_t::purge_vcol_info_t(): Initialize all fields in the default constructor. purge_node_t::purge_node_t(): Initialize all necessary fields. Reference: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388 https://gcc.gnu.org/ml/gcc/2016-02/msg00207.html
Showing
Please register or sign in to comment