https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84641
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Same can be seen with valgrind: $ valgrind --leak-check=yes --trace-children=yes ./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/pr71633.C -c -O3 -mmpx -O2 -std=gnu++11 -fcheck-pointer-bounds ==19734== Conditional jump or move depends on uninitialised value(s) ==19734== at 0x1637811: propagate_malloc (ipa-pure-const.c:1951) ==19734== by 0x1637811: (anonymous namespace)::pass_ipa_pure_const::execute(function*) (ipa-pure-const.c:2017) ==19734== by 0xCF27F0: execute_one_pass(opt_pass*) (passes.c:2497) ==19734== by 0xCF37F1: execute_ipa_pass_list(opt_pass*) (passes.c:2932) ==19734== by 0x99816B: ipa_passes (cgraphunit.c:2476) ==19734== by 0x99816B: symbol_table::compile() [clone .part.56] (cgraphunit.c:2558) ==19734== by 0x99A916: compile (cgraphunit.c:2720) ==19734== by 0x99A916: symbol_table::finalize_compilation_unit() (cgraphunit.c:2717) ==19734== by 0xDCF95A: compile_file() (toplev.c:480) ==19734== by 0x608A04: do_compile (toplev.c:2132) ==19734== by 0x608A04: toplev::main(int, char**) (toplev.c:2267) ==19734== by 0x60AFBA: main (main.c:39)