aboutsummaryrefslogtreecommitdiff
path: root/clang/docs/MSVCCompatibility.rst
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-05-07 06:15:46 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-05-07 06:15:46 +0000
commit8354eeed19e721f25cebba17f4af2470ffebc495 (patch)
tree3404dc7eb19a60acc6b4e5fb64833d85fc89b599 /clang/docs/MSVCCompatibility.rst
parentcdc22a889e4e4e22e72be01d217ddcc0ad063b43 (diff)
downloadllvm-8354eeed19e721f25cebba17f4af2470ffebc495.zip
llvm-8354eeed19e721f25cebba17f4af2470ffebc495.tar.gz
llvm-8354eeed19e721f25cebba17f4af2470ffebc495.tar.bz2
[MS ABI] Implement thread-safe initialization using the MSVC 2015 ABI
The MSVC 2015 ABI utilizes a rather straightforward adaptation of the algorithm found in the appendix of N2382. While we are here, implement support for emitting cleanups if an exception is thrown while we are intitializing a static local variable. llvm-svn: 236697
Diffstat (limited to 'clang/docs/MSVCCompatibility.rst')
-rw-r--r--clang/docs/MSVCCompatibility.rst9
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/docs/MSVCCompatibility.rst b/clang/docs/MSVCCompatibility.rst
index 8f5d70e..2228a9a 100644
--- a/clang/docs/MSVCCompatibility.rst
+++ b/clang/docs/MSVCCompatibility.rst
@@ -95,10 +95,11 @@ The status of major ABI-impacting C++ features:
.. _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.
- MSVC "14" changed the ABI to make initialization of local statics thread safe,
- and we have not yet implemented this.
+* Thread-safe initialization of local statics: :none:`Complete`. MSVC 2015
+ added support for thread-safe initialization of such variables by taking an
+ ABI break.
+ We are ABI compatible with both the MSVC 2013 and 2015 ABI for static local
+ variables.
* Lambdas: :good:`Mostly complete`. Clang is compatible with Microsoft's
implementation of lambdas except for providing overloads for conversion to