https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69336
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ktkachov at gcc dot gnu.org --- Comment #9 from ktkachov at gcc dot gnu.org --- (In reply to Richard Biener from comment #6) > > * g++.dg/tree-ssa/pr69336.C: New testcase. This testcase fails for me on arm-none-eabi. The optimized dump on -std=c++14 -O3 -fdump-tree-optimized -std=c++14 contains: int main() () { size_t n; const struct static_map cmap; const char * _4; int _5; int _11; void * _15; int _25; <bb 2>: cmap = *.LC3; _5 = cmap._values[0].second.first; if (_5 == 8) goto <bb 5>; else goto <bb 3>; <bb 3>: _25 = cmap._values[1].second.first; if (_25 == 8) goto <bb 5>; else goto <bb 4>; <bb 4>: _11 = cmap._values[2].second.first; if (_11 == 8) goto <bb 5>; else goto <bb 6>; <bb 5>: # n_8 = PHI <2(4), 0(2), 1(3)> _4 = MEM[(const char * const &)&cmap]._values[n_8].second.second; if (_4 == 0B) goto <bb 9>; else goto <bb 10>; <bb 6>: _15 = __cxa_allocate_exception (8); std::out_of_range::out_of_range (_15, "Key not found"); <bb 7>: __cxa_throw (_15, &_ZTISt12out_of_range, __comp_dtor ); <L6>: __cxa_free_exception (_15); __builtin_cxa_end_cleanup (); <bb 9>: abort (); <bb 10>: cmap ={v} {CLOBBER}; return 0; }