https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90586
--- Comment #2 from Yibiao Yang <yangyibiao at nju dot edu.cn> --- (In reply to Richard Biener from comment #1) > The reason is that somehow the only stmt with line 9 prevailing is one > not originally having it: > > <bb 6> : > [t.c:11:14] D.1918 = 0; > [t.c:11:14] // predicted unlikely by early return (on trees) predictor. > [t.c:9:11] g = {CLOBBER}; > goto <bb 8>; [INV] > > <bb 7> : > [t.c:14:10] D.1918 = 0; > > <bb 8> : > <L8>: > return D.1918; > > so the return stmt will end up inheriting it if we are "lucky". try-finally > lowering assigns the location, possibly simply taking the location of the > last stmt from the "throw". Thanks for the explanation. Thus, I was wondering that this bug should be marked as "invalid"