6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/AST/CXXABI.h
|
942f9fe11d3a9583eef6bc4ca2549b1f0d1694da |
|
10-Sep-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Implement guard variables for static initialization Static locals requiring initialization are not thread safe on Windows. Unfortunately, it's possible to create static locals that are actually externally visible with inline functions and templates. As a result, we have to implement an initialization guard scheme that is compatible with TUs built by MSVC, which makes thread safety prohibitively difficult. MSVC's scheme is that every function that requires a guard gets an i32 bitfield. Each static local is assigned a bit that indicates if it has been initialized, up to 32 bits, at which point a new bitfield is created. MSVC rejects inline functions with more than 32 static locals, and the externally visible mangling (?_B) only allows for one guard variable per function. On Eli's recommendation, I used MangleNumberingContext to track which bit each static corresponds to. Implements PR16888. Reviewers: rjmccall, eli.friedman Differential Revision: http://llvm-reviews.chandlerc.com/D1416 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|
84e9ab44af3a16f66d62590505db2036ef0aa03b |
|
28-Mar-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Correctly compute the size of member pointers Summary: This also relaxes the requirement on Windows that the member pointer class type be a complete type (http://llvm.org/PR12070). We still ask for a complete type to instantiate any templates (MSVC does this), but if that fails we continue as normal, relying on any inheritance attributes on the declaration. Reviewers: rjmccall CC: triton, timurrrr, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D568 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|
8f88a1dcc57cfe8580eb1558a783ad8499bfe8e0 |
|
12-Jul-2012 |
Timur Iskhodzhanov <timurrrr@google.com> |
[Windows] Use thiscall as the default calling convention for class methods. PR12785 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|
dae0cb52e4e3d46bbfc9a4510909522197a92e54 |
|
25-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|
424ae9882e8a6eecc9dfe7c2d8623e72b2563873 |
|
29-Oct-2010 |
Charles Davis <cdavis@mines.edu> |
Add a hook to the CXXABI object to get the default method calling convention. This isn't used yet, because someone more experienced than I needs to look at the type system about gutting getCanonicalCallConv(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|
ee79a4c30e5d1c5285551c9a25b8ec6d45d46aa7 |
|
22-Aug-2010 |
John McCall <rjmccall@apple.com> |
The ARM C++ ABI is sufficiently different from the Itanium C++ ABI that it deserves its own enumerator. Obviously the implementations should closely follow the Itanium ABI except in cases of divergence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|
071cc7deffad608165b1ddd5263e8bf181861520 |
|
16-Aug-2010 |
Charles Davis <cdavis@mines.edu> |
Implement support for member pointers under the Microsoft C++ ABI in the AST library. This also adds infrastructure for supporting multiple C++ ABIs in the AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CXXABI.h
|