[llvm-commits] Patch for correct landing pad code emission
Anton Korobeynikov
asl at math.spbu.ru
Wed May 23 09:32:17 PDT 2007
Hello, Everyone.
Please find attached patch, which fixes LLVM's behaviour during code
emission in LPs.
Currently AddLandingPad() function emits llvm.eh.exception only for
TRY_EXCEPT blocks. But sometimes (see, e.g. g++.dg/eh/unexpected1.C) gcc
generates code of form:
try {
throw();
} finally {
....
Unwind_Resume();
}
so, the exception is rethrown upper. In order to correctly handle this
situation we should emit landing pad info for TRY_FINALLY blocks also.
Attached patch does this.
--
With best regards, Anton Korobeynikov.
Faculty of Mathematics & Mechanics, Saint Petersburg State University.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: try_finally.diff
Type: text/x-patch
Size: 2744 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070523/c0914b7c/attachment.bin>
More information about the llvm-commits
mailing list