Adam Nemet <ane...@caviumnetworks.com> writes: > I am not exactly sure what has exposed this but the bug seems to be old. > can_throw_external in except.c does not look at the branch delay slot (second > entry in a SEQUENCE) to determine whether the insn may throw or not. > > In gcc.dg/cleanup-8.c for example after inlining fn3, the trapping store is > moved to the delay slot of abort, which is a nothrow function so we decide > that fn2 can't throw and then ultimately remove the eh region around fn1 in > fn0.
I forgot to mention that I started testing a patch. Adam