[PATCH] Make thunk this/return adjustment ABI-specific. Also, fix the return adjustment when using -cxx-abi microsoft

Timur Iskhodzhanov timurrrr at google.com
Fri Oct 25 11:38:57 PDT 2013


Hi rnk,

Hi Reid,

Can you please review this patch?

The only thing I'm not entirely sure is whether we want to use
a) a union of structs
or
b) should just duplicate a bunch of code and make the ABI-specific CG interfaces to pass around ABI-specific ThunkInfos.

(b) would likely require cast<>ing in a few places...
(a) sounds easier, so I picked unions :)

I'm planning to use a similar approach with virtual this adjustment in the following patch (that one is a bit more complex), so wanted to come up with a good decision in the simpler half of the whole refactor+fix patch.

--
Timur 

http://llvm-reviews.chandlerc.com/D2026

Files:
  include/clang/Basic/ABI.h
  lib/AST/ItaniumMangle.cpp
  lib/AST/VTableBuilder.cpp
  lib/CodeGen/CGCXXABI.h
  lib/CodeGen/CGVTables.cpp
  lib/CodeGen/ItaniumCXXABI.cpp
  lib/CodeGen/MicrosoftCXXABI.cpp
  test/CodeGenCXX/microsoft-abi-thunks.cpp
  test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance.cpp
  test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2026.1.patch
Type: text/x-patch
Size: 36781 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131025/91eaacc0/attachment.bin>


More information about the cfe-commits mailing list