[PATCH] Abstract out the emission of vtables, add basic support for vtable emission when using -cxx-abi microsoft
Timur Iskhodzhanov
timurrrr at google.com
Tue Sep 3 11:44:04 PDT 2013
Thanks!
John, can you please take a look? (I'll update the comments tomorrow, shouldn't block the review)
Reid,
> BTW, I don't think CGExprConstant.cpp affects the C++11 constexpr stuff we were talking
> about earlier today. It's optimizing dynamic initialization to static initialization.
Well, this codepath is only triggered if you use constexpr on a class/struct with vftables :)
Shouldn't affect other constexpr stuff - can you please run some tests to see if what you're interested in just works?
================
Comment at: lib/CodeGen/CGDebugInfo.cpp:1074
@@ +1073,3 @@
+ // FIXME: Add proper support for virtual calls in the Microsoft ABI,
+ // where we may use various vptrs to make a vftable lookup.
+ if (!isa<CXXDestructorDecl>(Method) &&
----------------
Reid Kleckner wrote:
> The Microsoft ABI doesn't use "various" vptrs, does it? It just uses a different one?
A class might have multiple vfptrs and different vcalls might need to use different vfptrs. Can you suggest a better wording?
http://llvm-reviews.chandlerc.com/D1532
More information about the cfe-commits
mailing list