[PATCH] Add MicrosoftVFTableContext to AST

Timur Iskhodzhanov timurrrr at google.com
Tue Jul 9 11:12:40 PDT 2013


timurrrr added you to the CC list for the revision "Add MicrosoftVFTableContext to AST".

Hi rnk, rjmccall,

Reid, John,
Can you please have a look at this code?

It adds vftable generation for [-cxx-abi microsoft] and some tests.
This is a mostly-AST change, the heavy threading of CodeGen will be done as separate patches.
I've intentionally left the CodeGen using VTableContext for now so we don't regress on the single inheritance case.
I also had to disable a couple of CodeGen functions (e.g. thunk emission) in order to dodge later asserts.

Sorry for a large patch: it's a 1000LOC + 1000LOTests change but IMO it's hard to split it into smaller pieces.
Hope I've added comments to all the weird places so it should be not too hard to browse.

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

Files:
  lib/AST/MicrosoftMangle.cpp
  lib/AST/VTableBuilder.cpp
  lib/CodeGen/MicrosoftCXXABI.cpp
  lib/CodeGen/CGVTables.h
  lib/CodeGen/CGVTables.cpp
  test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
  test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance.cpp
  test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
  include/clang/AST/VTableBuilder.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1076.3.patch
Type: text/x-patch
Size: 84645 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130709/65cfcf86/attachment.bin>


More information about the cfe-commits mailing list