[cfe-dev] RFC: Flesh out the IRGen C++ ABI class

Charles Davis cdavis at mymail.mines.edu
Sat Oct 23 18:59:33 PDT 2010


Hi,

Well, it's been awhile, but I finally got around to finishing up
libCodeGen's C++ ABI class. I've added a few methods in this patch to:

- Emit important C++ data structures (RTTI descriptors, virtual tables)
- Retrieve the CGRecordLayoutBuilder, which can be overridden by the ABI.
- Emit a call to a virtual method.
- Emit loads and stores to fields in C++ classes/structs--particularly
important for fields in virtual bases.

I haven't put in any EH-related stuff--I leave that in John's capable
hands, since he knows way more about it than I do. (Also, he told me
he'd do it, so that helps :).

I'd appreciate comments on it--in particular, if I'm missing anything,
or if you feel the methods I've added are inappropriate. I don't think
this is worthy to be committed yet, so I've sent it here instead of
cfe-commits.

BTW, I've left out the inevitable stubs I'll have to add to make the
resulting clang binary link properly.

Chip
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: flesh-cg-cxx-abi.patch
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20101023/9acfa8f4/attachment.ksh>


More information about the cfe-dev mailing list