summaryrefslogtreecommitdiff
path: root/docs/MSVCCompatibility.rst
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-05-04 20:53:51 +0000
committerReid Kleckner <reid@kleckner.net>2015-05-04 20:53:51 +0000
commitb8cd9c9de9b41aac2451a8df0bdd0c795bc093d5 (patch)
tree2e1fe258fa997b00d54929bbfde4c658b8d047f8 /docs/MSVCCompatibility.rst
parentc2d6540aeb6729afe11498e746a10fde0a9bc7d0 (diff)
downloadclang-b8cd9c9de9b41aac2451a8df0bdd0c795bc093d5.tar.gz
Update MSVC compatibility doc note about exceptions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236458 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/MSVCCompatibility.rst')
-rw-r--r--docs/MSVCCompatibility.rst13
1 files changed, 10 insertions, 3 deletions
diff --git a/docs/MSVCCompatibility.rst b/docs/MSVCCompatibility.rst
index 1dba9e865b..8f5d70e85e 100644
--- a/docs/MSVCCompatibility.rst
+++ b/docs/MSVCCompatibility.rst
@@ -84,9 +84,16 @@ The status of major ABI-impacting C++ features:
* RTTI: :good:`Complete`. Generation of RTTI data structures has been
finished, along with support for the ``/GR`` flag.
-* Exceptions and SEH: :partial:`Minimal`. Clang can parse both constructs, but
- does not know how to emit compatible handlers. Clang can throw and rethrow
- C++ exceptions.
+* Exceptions and SEH: :partial:`Partial`. C++ exceptions (``try`` / ``catch``)
+ and structured exceptions (``__try`` / ``__except`` / ``__finally``) mostly
+ work on x64. 32-bit exception handling support is being worked on. 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``.
+ C++ exception specifications are ignored, but this is `consistent with Visual
+ C++`_.
+
+.. _consistent with Visual C++:
+ https://msdn.microsoft.com/en-us/library/wfa0edys.aspx
* Thread-safe initialization of local statics: :none:`Unstarted`. We are ABI
compatible with MSVC 2013, which does not support thread-safe local statics.