[llvm-bugs] [Bug 44174] A range of ScopeRecord does not match the code enclosed by __try

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Dec 3 14:32:39 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=44174

Reid Kleckner <rnk at google.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |DUPLICATE
             Status|NEW                         |RESOLVED
                 CC|                            |rnk at google.com

--- Comment #1 from Reid Kleckner <rnk at google.com> ---
This is currently working-as-designed, and documented:
https://clang.llvm.org/docs/MSVCCompatibility.html
"Asynchronous Exceptions (SEH): Partial. Structured exceptions (__try /
__except / __finally) mostly work on x86 and x64. LLVM does not model
asynchronous exceptions, so it is currently impossible to catch an asynchronous
exception generated in the same frame as the catching __try."

It was brought up recently and (hopefully) clarified here:
http://lists.llvm.org/pipermail/llvm-dev/2019-November/136701.html
"the important thing to understand is that LLVM is currently incapable of
representing non-call instructions that might throw an exception."

There may be some future effort to implement support for non-call exceptions,
but to my knowledge, nobody has started and there is no timeline.

We have an ancient issue open covering this feature which this is arguably a
duplicate of, but the discussion is somewhat stale. At some point we might wish
to close it and open a new issue with a fresh design.

*** This bug has been marked as a duplicate of bug 1269 ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20191203/a3ec2dee/attachment.html>


More information about the llvm-bugs mailing list