a4de17562d13d7a8188108243c4cfbd52f33229a |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r256229 http://b/26987366 (cherry picked from commit 87d948ecccffea9e9e37d0d053b246e2d6d6c47b) Change-Id: I10ca401a280e905253aafabad9118693a2f24ffb
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
b6d6993e6e6d3daf4d9876794254d20a134e37c2 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r239765 Change-Id: I0393bcc952590a7226af8c4b58534a8ee5fd2d99
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
58878f85ab89b13e9eea4af3ccf055e42c557bc8 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r233350 Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c568f1e98938584c0ef0b12ae5018ff7d90a4072 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
01f3d00bc5074a2f105eda35ef7aee8088e938d6 |
|
10-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r196771: ------------------------------------------------------------------------ r196771 | majnemer | 2013-12-09 02:44:32 -0800 (Mon, 09 Dec 2013) | 17 lines [-cxx-abi microsoft] Mangle large integral constants correctly Testing has revealed that large integral constants (i.e. > INT64_MAX) are always mangled as-if they are negative, even in places where it would not make sense for them to be negative (like non-type template parameters of type unsigned long long). To address this, we change the way we model number mangling: always mangle as-if our number is an int64_t. This should result in correct results when we have large unsigned numbers. N.B. Bizarrely, things that are 32-bit displacements like vbptr offsets are mangled as-if they are unsigned 32-bit numbers. This is a pretty egregious waste of space, it would be a 4x savings if we could mangle it like a signed 32-bit number. Instead, we explicitly cast these displacements to uint32_t and let the mangler proceed. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0cbb3ed856d7b9059c6b52cdeb38db2a5d1a3a66 |
|
21-Nov-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195283: ------------------------------------------------------------------------ r195283 | hans | 2013-11-20 16:15:56 -0800 (Wed, 20 Nov 2013) | 10 lines [-cxx-abi microsoft] Emit linkonce_odr definitions for declarations of static data members with inline initializers (PR17689) This makes Clang emit a linkonce_odr definition for 'val' in the code below, to be compatible with MSVC-compiled code: struct Foo { static const int val = 1; }; Differential Revision: http://llvm-reviews.chandlerc.com/D2233 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@195314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
7ff541687eadff6bb7d407bb0d50b0e9f8a35844 |
|
15-Nov-2013 |
Alp Toker <alp@nuanti.com> |
Remove an unused local from r194827 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
93b717ac956f5c82f7895ed8874cbd514c6d0a4e |
|
15-Nov-2013 |
Hans Wennborg <hans@hanshq.net> |
[-cxx-abi microsoft] Emit thunks for pointers to virtual member functions Instead of storing the vtable offset directly in the function pointer and doing a branch to check for virtualness at each call site, the MS ABI generates a thunk for calling the function at a specific vtable offset, and puts that in the function pointer. This patch adds support for emitting such thunks. However, it doesn't support pointers to virtual member functions that are variadic, have an incomplete aggregate return type or parameter, or are overriding a function in a virtual base class. Differential Revision: http://llvm-reviews.chandlerc.com/D2104 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
42e68d5b2355d4d4de19ea70e6dc57dfea4da247 |
|
13-Nov-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
No need to use CGM.getCXXABI() from CXXABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
40aa366f994f7b2c103e94f903a34226b4b8f06b |
|
07-Nov-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Minor refinement of VTableBuilder.h: fix wrong indentation, rename a struct field with a more appropriate name git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
58b6db76adab8dee2e64fbc300360f9b46c561ba |
|
06-Nov-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Fix PR17738 - add support for vtordisp thunks when using -cxx-abi microsoft git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
5f0db587078b5af32fc9ac41fe4276b80918fd8d |
|
05-Nov-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Fix vbtable indices when a class shares the vbptr with a non-virtual base git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c70cc5d90403f99ccce5cab3a6c022ad9cdcb66c |
|
30-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Make thunk this/return adjustment ABI-specific. Also, fix the return adjustment when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D2026 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0e4f5598fedc333a05c0611fe3ad46266f5e1b5f |
|
27-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Fix the inconsistent order of parameters in the GetVBaseOffsetFromVBPtr definition and declaration git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
6d87e65b8fd01b36c7d3dd121462cb95f94404d6 |
|
22-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Use GEPs correctly when adjusting this in MicrosoftCXXABI Reviewed at http://llvm-reviews.chandlerc.com/D1977 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
fa2264aab19329fb3023daa046d15e749556024a |
|
17-Oct-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Error out on virtual function memptrs These are uncommon and this is better than miscompiling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
a7c8b10c35671a19f01241c1d8aff07260597dbf |
|
17-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Follow-up to r192822: fix Clang assertion when building with -fexceptions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
82552742a1002cf1408d6f371efc9cc6a9f2d7cc |
|
16-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
[-cxx-abi microsoft] Fix this argument/parameter offsets for virtual destructors in the presence of virtual bases Reviewed at http://llvm-reviews.chandlerc.com/D1939 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
42090d6d786accb3551097f0ef1f15d44713982c |
|
15-Oct-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Fix assert in unspecified inheritance memptr emission If a class is using the unspecified inheritance model for member pointers and later we find the class is defined to use single inheritance, zero out the vbptr offset field of the member pointer when it is formed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
5bd0d44c8da50f3a629c90fee92ce5cf1e31c9ff |
|
09-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Initialize vtorDisp in class constructors and destructors Reviewed at http://llvm-reviews.chandlerc.com/D1867 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
2cb17a06befb61b1434aaa991652fea4338c95d7 |
|
09-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Reland 192220 "Abstract out parts of thunk emission code, add support for simple thunks when using -cxx-abi microsoft" with relaxed assertions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0ac66c03c01ae95bc34cca71067ba8dd65e06a1d |
|
08-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Revert 192220 as it fails on an assertion git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c3dcfa20f8ec56fad90ffe42d0f4bc0168a2e138 |
|
08-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out parts of thunk emission code, add support for simple thunks when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1787 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
11f22a35b7f08a8d017f6ab26e440edffc930f96 |
|
03-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Extract ABI-specific parts of MangleContext into separate classes Reviewed at http://llvm-reviews.chandlerc.com/D1807 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
a53d7a0259ff88f78ba8ecac7d0cb3ea96302b1d |
|
27-Sep-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out the emission of vtables, add basic support for vtable emission when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1532 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
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/CodeGen/MicrosoftCXXABI.cpp
|
1f71f393e2d01f73d237e04677a82d4e0e6139ef |
|
27-Aug-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
[-cxx-abi microsoft] Change the vdtor implicit should_call_delete argument type to int git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
8f189a9911a992a5c4118c3789485a85bd96e045 |
|
21-Aug-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out virtual calls and virtual function prologue code generation; implement them for -cxx-abi microsoft git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
bb1b797d2e432293563747bd9704b22cf0787061 |
|
04-Aug-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Emit the constructor for abstract classes when using -cxx-abi microsoft, fixes PR16735 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
635de28950ef84ae26308ff734e778bad1ddde92 |
|
30-Jul-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Add MicrosoftVFTableContext to AST git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
a4130baad9d10b7feabb7e003da53424e986d269 |
|
22-Jul-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Emit linkonce complete dtors in TUs that need them Based on Peter Collingbourne's destructor patches. Prior to this change, clang was considering ?1 to be the complete destructor and the base destructor, which was wrong. This lead to crashes when clang tried to emit two LLVM functions with the same name. In this ABI, TUs with non-inline dtors might not emit a complete destructor. They are emitted as inline thunks in TUs that need them, and they always delegate to the base dtors of the complete class and its virtual bases. This change uses the DeferredDecls machinery to emit complete dtors as needed. Currently in clang try body destructors can catch exceptions thrown by virtual base destructors. In the Microsoft C++ ABI, clang may not have the destructor definition, in which case clang won't wrap the virtual virtual base destructor calls in a try-catch. Diagnosing this in user code is TODO. Finally, for classes that don't use virtual inheritance, MSVC always calls the base destructor (?1) directly. This is a useful code size optimization that avoids emitting lots of extra thunks or aliases. Implementing it also means our existing tests continue to pass, and is consistent with MSVC's output. We can do the same for Itanium by tweaking GetAddrOfCXXDestructor, but it will require further testing. Reviewers: rjmccall CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1066 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
6e007f9fa0b9ebe5898025010c5ebc7d82decfa7 |
|
19-Jul-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Simplify the CodeGenFunction::Build*Virtual*Call family of functions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3b50e8d78c34fc57e25781015a2cb0536ca54f89 |
|
30-Jun-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Restore r184205 and associated commits (after commit of r185290) This allows clang to use the backend parameter attribute 'returned' when generating 'this'-returning constructors and destructors in ARM and MSVC C++ ABIs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
9b60195ad4843c9e2e231673a0dbc0d5c8c6eb2b |
|
21-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Destroy temporary record arguments in the callee Itanium destroys them in the caller at the end of the full expression, but MSVC destroys them in the callee. This is further complicated by the need to emit EH-only destructor cleanups in the caller. This should help clang compile MSVC's debug iterators more correctly. There is still an outstanding issue in PR5064 of a memcpy emitted by the LLVM backend, which is not correct for C++ records. Fixes PR16226. Reviewers: rjmccall Differential Revision: http://llvm-reviews.chandlerc.com/D929 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3258abc2bad74e8bb1799d124bc4113c7234fa42 |
|
20-Jun-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Revert r184205 and associated patches while investigating issue with broken buildbot (possible interaction with LTO) <rdar://problem/14209661> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
4444dbbb96ba55ff8a05a1918627f609a387db9f |
|
19-Jun-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Corrections to r184205 ('this'-return optimization) due to the wrong version of the patch being committed originally. 1) Removed useless return value of CGCXXABI::EmitConstructorCall and CGCXXABI::EmitVirtualDestructorCall and implementations 2) Corrected last portion of CodeGenCXX/constructor-destructor-return-this to correctly test for non-'this'-return of virtual destructor calls git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
9063302a82423cb83f002257a416741850739a70 |
|
19-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Emit and install appropriately mangled vbtables In Itanium, dynamic classes have one vtable with several different address points for dynamic base classes that can't share vtables. In the MS C++ ABI, each vbtable that can't be shared gets its own symbol, similar to how ctor vtables work in Itanium. However, instead of mangling the subobject offset into the symbol, the unique portions of the inheritance path are mangled into the symbol to make it unique. This patch implements the MSVC 2012 scheme for forming unique vbtable symbol names. MSVC 2010 use the same mangling with a different subset of the path. Implementing that mangling and possibly others is TODO. Each vbtable is an array of i32 offsets from the vbptr that points to it to another virtual base subobject. The first entry of a vbtable always points to the base of the current subobject, implying that it is the same no matter which parent class contains it. Reviewers: rjmccall Differential Revision: http://llvm-reviews.chandlerc.com/D636 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
d4c0cd07641681de6ed12164aa7a4495ab4b18e5 |
|
18-Jun-2013 |
Stephen Lin <stephenwlin@gmail.com> |
CodeGen: Have 'this'-returning constructors and destructors to take advantage of the new backend 'returned' attribute. The backend will now use the generic 'returned' attribute to form tail calls where possible, as well as avoid save-restores of 'this' in some cases (specifically the cases that matter for the ARM C++ ABI). This patch also reverts a prior front-end only partial implementation of these optimizations, since it's no longer required. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
a06d585468ae9371eb46a69d6180c2a85e0f456e |
|
05-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Fix vbptr offsets in memptrs when the vbptr is in an nvbase Also addresses a review comment from John from on r180985 by removing the "== -1" check, since it's now reusing the correct code which has the comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
8c47432b747d51e40a1e23a99403e78c2c864bd1 |
|
04-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Factor out some loops into helpers for readability No functionality change, covered by the existing virtual base adjustment tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
b0f533e716ae5a21ca5682ea235a68082fd5ed28 |
|
29-May-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Implement MSVC virtual base adjustment While we can't yet emit vbtables, this allows us to find virtual bases of objects constructed in other TUs. This make iostream hello world work, since basic_ostream virtually inherits from basic_ios. Differential Revision: http://llvm-reviews.chandlerc.com/D795 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
f632730ffb0b8ca531a35e737b29cc9f9774ca1d |
|
09-May-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Implement member pointer conversions Summary: This only supports converting along non-virtual inheritance paths by changing the field offset or the non-virtual base adjustment. This implements three kinds of conversions: - codegen for Value conversions - Constant emission for APValue - Constant folding for CastExprs In almost all constant initialization settings EmitMemberPointer(APValue) is called, except when the expression contains a reinterpret cast. reinterpret casts end up being a big corner case because the null value changes between different kinds of member pointers. Reviewers: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D741 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
79e0291be71adb4c38431e27a683faa40bbedc61 |
|
03-May-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Emit non-virtual member function pointers Without any conversion, this is pretty straightforward. Most of the fields can be zeros. The order is: - field offset or pointer - nonvirtual adjustment (for MI functions) - vbptr offset (for unspecified) - virtual adjustment offset (for virtual inheritance) Differential Revision: http://llvm-reviews.chandlerc.com/D699 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3d2f000df9311bfccb6d2ac350be3d3efa5a412b |
|
30-Apr-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Implement member pointer comparisons Summary: Like Itanium, comparisons are basically bitwise comparisons of the two values, with an exception for null member function pointers. If two function pointers are null, only the function pointer field matters for comparison purposes. The rest of the bits can be arbitrary. We take advantage of this in isZeroInitializable(), and it may matter once we start emitting conversions. Reviewers: rjmccall CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D695 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
ed23bdf69dd63e4fd01c02b12a13d1e6cbff9c2f |
|
17-Apr-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Set SRet flags properly in '-cxx-abi microsoft'. Also, - abstract out the indirect/in memory/in registers decisions into the CGCXXABI - fix handling of empty struct arguments for '-cxx-abi microsoft' - add/fix tests git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
04e517650569598e847c2ab609672e6df93effe5 |
|
15-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
CodeGen support for function-local static thread_local variables with non-constant constructors or non-trivial destructors. Plus bugfixes for thread_local references bound to temporaries (the temporaries themselves are lifetime-extended to become thread_local), and the corresponding case for std::initializer_list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
a3609b0c7685346308ed2c8022f94949bbfe7cdf |
|
11-Apr-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Implement member pointer emission and dereferencing Summary: Handles all inheritance models for both data and function member pointers. Also implements isZeroInitializable() and refactors some of the null member pointer code. MSVC supports converting member pointers through virtual bases, which clang does not (yet?) support. Implementing that extension is covered by http://llvm.org/15713 Reviewers: rjmccall CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D613 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
a8a0f769ff4113a7f98c232fb0fc773a65371559 |
|
22-Mar-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Implement member data pointers for non-dynamic classes Summary: For non-dynamic classes (no virtual bases), member data pointers are simple offsets from the base of the record. Dynamic classes use an aggregate for member data pointers and are therefore currently unsupported. Unlike Itanium, the ms ABI uses 0 to represent null for polymorphic classes. Non-polymorphic classes use -1 like Itanium, since 0 is a valid field offset. Reviewers: rjmccall CC: timurrrr, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D558 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
63fd408a61ae9b94e8d8a986832f526f7cdbfa84 |
|
20-Mar-2013 |
Manman Ren <mren@apple.com> |
Exploit this-return of a callsite in a this-return function. For constructors/desctructors that return 'this', if there exists a callsite that returns 'this' and is immediately before the return instruction, make sure we are using the return value from the callsite. We don't need to keep 'this' alive through the callsite. It also enables optimizations in the backend, such as tail call optimization. Updated from r177211. rdar://12818789 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
7cd84baa533ae337e3eb6b7951d94ce94093d521 |
|
16-Mar-2013 |
Manman Ren <mren@apple.com> |
revert r177211 due to its potential issues git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
2710ed8fd997be04ff447b8be2190f8fb34ac22b |
|
16-Mar-2013 |
Manman Ren <mren@apple.com> |
Exploit this-return of a callsite in a this-return function. For constructors/desctructors that return 'this', if there exists a callsite that returns 'this' and is immediately before the return instruction, make sure we are using the return value from the callsite. We don't need to keep 'this' alive through the callsite. It also enables optimizations in the backend, such as tail call optimization. rdar://12818789 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
1d4fff5551c2347010b955b4337a2aa7d65a050e |
|
27-Feb-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Better support for constructors with -cxx-abi microsoft, partly fixes PR12784 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0f9827f5d6248d7008063768eb5f2c3e6ba83e94 |
|
15-Feb-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out emitting the vdtor calls and do it properly when using -cxx-abi microsoft; also fix vdtor calls for the ARM ABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
59660c21178b6af518bd4b564e032d5c9cc218cb |
|
13-Feb-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Emit virtual/deleting destructors properly with -cxx-abi microsoft, PR15058 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
d5617eeafc93209a26b9f88276c88cf997c3a0a7 |
|
25-Jan-2013 |
John McCall <rjmccall@apple.com> |
The standard ARM C++ ABI dictates that inline functions are never key functions. We did not implement that rule for the iOS ABI, which was driven by what was implemented in gcc-4.2. However, implement it now for other ARM-based platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
649c7316aa29181df7270732722fe5d07ab3c7ad |
|
21-Jan-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
First step towards vftable generation with -cxx-abi microsoft PR13231 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
956a5a17713deb1b5b27893303c4f308a1bd2a62 |
|
25-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Cleanup some clang code to use new type functions instead of using cast<>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
2eb9a959d24ad757a82ecab61f343635ad67749a |
|
17-Oct-2012 |
David Blaikie <dblaikie@gmail.com> |
PR13684: Emit vtable entries for deleted functions as __cxa_deleted_function. This is consistent/interoperable with GCC 4.7 (& __cxa_deleted_function isn't present in 4.4 - not sure when it got added, but you'll need something with that function available for this to work). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
ecd03b447bb0e2ed1954c77441d49a4a17ca8138 |
|
25-Sep-2012 |
John McCall <rjmccall@apple.com> |
When performing a ::delete of an object with a virtual destructor, be sure to delete the complete object pointer, not the original pointer. This is necessary if the base being deleted is at a non-zero offset in the complete object. This is only required for objects with virtual destructors because deleting an object via a base-class subobject when the base does not have a virtual destructor is undefined behavior. Noticed while reviewing the last four years of cxx-abi-dev activity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
bd31574a0f01da2cb2abde004b36772eb8a048dc |
|
25-Sep-2012 |
John McCall <rjmccall@apple.com> |
In the MS ABI, ctors return 'this'. Patch by Dmitry Sokolov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
285baac67d722beb6854f5faa45ee1aa62a7ce92 |
|
17-Jul-2012 |
Joao Matos <ripzonetriton@gmail.com> |
[Windows] Abstract pure virtual method calls in the ABI. Fix the Windows ABI to forward to the correct function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
9ee494f98610dcd79441dce469d7bf609fcd7b92 |
|
24-Jun-2012 |
Charles Davis <cdavis@mines.edu> |
IRGen: Factor v-table generation into the CGCXXABI object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
20bb175cb8ae5844034828db094fb948c0e3454a |
|
01-May-2012 |
John McCall <rjmccall@apple.com> |
Abstract the emission of global destructors into ABI-specific code and only consider using __cxa_atexit in the Itanium logic. The default logic is to use atexit(). Emit "guarded" initializers in Microsoft mode unconditionally. This is definitely not correct, but it's closer to correct than just not emitting the initializer. Based on a patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
e2b45e2a43ae46bc00026b63ba7c04ef2b78c3ff |
|
01-May-2012 |
John McCall <rjmccall@apple.com> |
Refactor the C++ ABI code a little bit to take advantage of what I'm going to treat as basically universal properties of array-cookie code. Implement MS array cookies on top of that. Based on a patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
beeb460aa571d23318fc0f6b8abcd868def791fa |
|
04-Apr-2012 |
John McCall <rjmccall@apple.com> |
ErrorUnsupported on array cookies in the MS C++ ABI code; patch by Timur Iskhodzhanov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
fd708265e3b1dcfaae6a6832186aabb0de0c0aef |
|
27-Jan-2011 |
John McCall <rjmccall@apple.com> |
Notes on dynamic array cookies in MSVC. My thanks to chapuni for his help in investigating this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
14110477887e3dc168ffc6c191e72d705051f99e |
|
13-Jan-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move name mangling support from CodeGen to AST. In the process, perform a number of refactorings: - Move MiscNameMangler member functions to MangleContext - Remove GlobalDecl dependency from MangleContext - Make MangleContext abstract and move Itanium/Microsoft functionality to their own classes/files - Implement ASTContext::createMangleContext and have CodeGen use it No (intended) functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3f59c975aa5d047f7edd1b900b5e885c38af0ef7 |
|
26-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
The -fshort-wchar option causes wchar_t to become unsigned, in addition to being 16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
7536dd5e6c99584481b7dab68b7e7d8df9c54054 |
|
20-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new type, PackExpansionType, to capture types that are pack expansions, e.g. given template<typename... Types> struct tuple; template<typename... Types> struct tuple_of_refs { typedef tuple<Types&...> types; }; the type of the "types" typedef is a PackExpansionType whose pattern is Types&. This commit introduces support for creating pack expansions for template type arguments, as above, but not for any other kind of pack expansion, nor for any form of instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
ee743f903858e337434ac0335f147f4de4ecae05 |
|
09-Nov-2010 |
Charles Davis <cdavis@mines.edu> |
Use the right calling convention when mangling names in the Microsoft C++ mangler. Now member functions and pointers thereof have their calling convention mangled as __thiscall if they have the default CC (even though, they technically still have the __cdecl CC). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
5cd91b513455fd7753e8815b54f0a49bbca6602d |
|
08-Sep-2010 |
John McCall <rjmccall@apple.com> |
Implement ARM static local initialization guards, which are more compact than Itanium guards and use a slightly different compiled-in API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
52fc314e1b5e1baee6305067cf831763d02bd243 |
|
03-Sep-2010 |
Dawn Perchik <dawn@burble.org> |
Add symantic support for the Pascal calling convention via "__attribute((pascal))" or "__pascal" (and "_pascal" under -fborland-extensions). Support still needs to be added to llvm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
4c40d98ab7acf5f27fa89b17bd8fc0ef7683df37 |
|
31-Aug-2010 |
John McCall <rjmccall@apple.com> |
Teach IR generation to return 'this' from constructors and destructors under the ARM ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
d608cdb7c044365cf4e8764ade1e11e99c176078 |
|
22-Aug-2010 |
John McCall <rjmccall@apple.com> |
Experiment with using first-class aggregates to represent member function pointers. I find the resulting code to be substantially cleaner, and it makes it very easy to use the same APIs for data member pointers (which I have conscientiously avoided here), and it avoids a plethora of potential inefficiencies due to excessive memory copying, but we'll have to see if it actually works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
9b7d6701dabc24387cc152e4d13bf9aec6aa461a |
|
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
zap dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
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/CodeGen/MicrosoftCXXABI.cpp
|
4d254836f4a6a03fb3c77d0636c3cb5475540eb0 |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle Objective-C pointers and block pointers in the Microsoft C++ Mangler. ObjC pointers were easy enough (as far as the ABI is concerned, they're just pointers to structs), but I had to invent a new mangling for block pointers. This is particularly worrying with the Microsoft ABI, because it is a vendor-specific ABI; extending it could come back to bite us later when MS extends it on their own (and you know they will). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
08778269cfbf803fb216870060c60eb2adb25ef6 |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Fix mangling of array dimensions in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
cd712cb5711b597bf3a2a67a4027e2238c8b9828 |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle member pointer types in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
1139da148e44193a71585f418be96ef9c5f6defa |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Fix mangling of function pointers in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
4f0a3376a5e5c9028b0c736ac935895aabdb5fcd |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Fix mangling of array parameters for functions in the Microsoft C++ Mangler. Only actual functions get mangled correctly; I don't know how to fix it for function pointers yet. Thanks to John McCall for the hint. Also, mangle anonymous tag types. I don't have a suitable testcase yet; I have a feeling that that's going to need support for static locals, and I haven't figured out exactly how MSVC's scheme for mangling those works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0b8fe8c68eb503b9955f13c0c27b18b1f8321158 |
|
30-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle arrays in the Microsoft C++ Mangler. It's not quite finished (it doesn't mangle array parameters right), but I think that should be fixed in Sema (Doug, John, what do you think?). Also, stub out the remaining mangleType() routines. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3a0d41d29192ff42870310e33800939f4e34bb55 |
|
26-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle pointer and (lvalue) reference types in the Microsoft C++ Mangler. Also, fix mangling of throw specs. Turns out MSVC totally ignores throw specs when mangling names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
564360be450b319aeafc26698be9811837bfb826 |
|
24-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to correctly mangle block helper functions when block literal is declared inside a ctor/dtor. Fixes radr 8096995. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c62458f6aead5e4c0d0f4534d52142e7864ba02b |
|
18-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle tag types (unions, structs, classes, enums) in the Microsoft C++ Mangler. Also, test that static members with default visibility in a struct have the right mangling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
21e2a7e8d38120e358bead9e1f14ed526d37bc90 |
|
17-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle operator names in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
65161d17cbf8980e24643c65b74a5127dcb7ac22 |
|
16-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Start mangling function types in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
b021f8bd445959e2a5c958624a464ff621253ae4 |
|
14-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Microsoft C++ Mangler: - Mangle qualifiers. - Start mangling variables' types into the name. A variable declared with a builtin type should now mangle properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
570d2763bc9ee6c26b12c0b6316dd87261520bfe |
|
12-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Microsoft C++ Mangler: - Don't mangle static variables at global scope. - Add support for mangling builtin types. This will be used later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
971154db24429b103280d15423b8c200cfb2380c |
|
11-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
When mangling for the Microsoft C++ ABI, mangle variables in the global namespace, too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
e60cea829b3bc45fcfedbfdb08cffb61f5bde79f |
|
11-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Start implementing the Microsoft-style name mangler. Mangle simple names (but not their types; that's later). NOTE: Right now, variables in the global namespace don't get mangled, even though they're supposed to be. This is because the default mangler implements the shouldMangleDeclName() method that tells clang not to mangle them. This will be fixed in a later patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
98b7c5c496dfccb39287b8f7d8f1444594936d10 |
|
11-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Add an option to specify the target C++ ABI to the frontend. Use it to select either the default Itanium ABI or the new, experimental Microsoft ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c3926645d70842eae22641df1bf69da457a0ff11 |
|
10-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Add a stub Microsoft Visual C++ ABI class (with stub mangler). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|