https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116026
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- ``` MEM[(struct _Variant_storage *)&b]._M_index = 1; .ASAN_MARK (UNPOISON, &D.32835, 1); .ASAN_MARK (UNPOISON, &D.32841, 1); .ASAN_MARK (POISON, &D.32841, 1); _27 = &b.D.31055.D.30629.D.30544.D.30409.D.30292.D.30193._M_index; .ASAN_CHECK (6, _27, 1, 8); _28 = b.D.31055.D.30629.D.30544.D.30409.D.30292.D.30193._M_index; ``` _28 is not being optimized to 1 so then GCC warns on unreachable code. I forgot at -Og, there is a limited optimization happening.