[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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236697 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- docs/MSVCCompatibility.rst 5 additions, 4 deletionsdocs/MSVCCompatibility.rst
- include/clang/AST/Mangle.h 4 additions, 0 deletionsinclude/clang/AST/Mangle.h
- lib/AST/MicrosoftMangle.cpp 18 additions, 11 deletionslib/AST/MicrosoftMangle.cpp
- lib/CodeGen/MicrosoftCXXABI.cpp 189 additions, 54 deletionslib/CodeGen/MicrosoftCXXABI.cpp
- test/CodeGenCXX/dllexport.cpp 4 additions, 4 deletionstest/CodeGenCXX/dllexport.cpp
- test/CodeGenCXX/dllimport.cpp 8 additions, 8 deletionstest/CodeGenCXX/dllimport.cpp
- test/CodeGenCXX/microsoft-abi-static-initializers.cpp 1 addition, 1 deletiontest/CodeGenCXX/microsoft-abi-static-initializers.cpp
- test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp 81 additions, 0 deletionstest/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp
Loading
Please register or sign in to comment