https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113673
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Roger Sayle from comment #4) > The identified patch implements += the same way as |=. Presumably a version > of the test case replacing "m += *data++;" with "m |= *data++;" would be > more useful at identifying a patch that actually changed EH edges. Well + can trap on overflow with -ftrapv (and cause exceptions with -fnon-call-exceptions) but | will not/cannot trap ... So that patch is definitely the one which changes the EH edges.