diff options
Diffstat (limited to 'docs/MSVCCompatibility.rst')
-rw-r--r-- | docs/MSVCCompatibility.rst | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/docs/MSVCCompatibility.rst b/docs/MSVCCompatibility.rst index 32efb76db251..73f01fc2b080 100644 --- a/docs/MSVCCompatibility.rst +++ b/docs/MSVCCompatibility.rst @@ -72,17 +72,21 @@ The status of major ABI-impacting C++ features: .. _/vm: http://msdn.microsoft.com/en-us/library/yad46a6z.aspx .. _pointer to a member of a virtual base class: http://llvm.org/PR15713 -* Debug info: :partial:`Minimal`. Clang emits CodeView line tables into the - object file, similar to what MSVC emits when given the ``/Z7`` flag. - Microsoft's link.exe will read this information and use it to create a PDB, +* Debug info: :partial:`Minimal`. Clang emits both CodeView line tables + (similar to what MSVC emits when given the ``/Z7`` flag) and DWARF debug + information into the object file. + Microsoft's link.exe will transform the CodeView line tables into a PDB, enabling stack traces in all modern Windows debuggers. Clang does not emit - any type info or description of variable layout. + any CodeView-compatible type info or description of variable layout. + Binaries linked with either binutils' ld or LLVM's lld should be usable with + GDB however sophisticated C++ expressions are likely to fail. * RTTI: :good:`Complete`. Generation of RTTI data structures has been finished, along with support for the ``/GR`` flag. -* Exceptions and SEH: :none:`Unstarted`. Clang can parse both constructs, but - does not know how to emit compatible handlers. +* Exceptions and SEH: :partial:`Minimal`. Clang can parse both constructs, but + does not know how to emit compatible handlers. Clang cannot throw exceptions + but it can rethrow them. * Thread-safe initialization of local statics: :none:`Unstarted`. We are ABI compatible with MSVC 2013, which does not support thread-safe local statics. |