https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123402
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
D.133866._M_current = &MEM <const char32_t[1]> [(void *)&__arr + 4B];
__first._M_current = &__arr;
__first = __first;
__it = D.133866;
__last = D.133866;
MEM <const char32_t *> [(struct _First_and_curr *)&D.124344] = &__arr;
MEM <const char32_t *> [(struct _First_and_curr *)&D.124344 + 8B] = &MEM
<const char32_t[1]> [(void *)&__arr + 4B];
D.124344._M_last = __last;
D.124344._M_buf_index = 0;
D.124344._M_buf_last = 0;
D.124344._M_to_increment = 0;
_126 = MEM[(const char32_t * const &)&D.124344 + 16];
if (_126 != &MEM <const char32_t[1]> [(void *)&__arr + 4B])
```
Where I have seen this before ...