[cfe-commits] [PATCH] Laying the foundation for alternate C++ ABI support

John McCall rjmccall at apple.com
Tue May 25 10:18:12 PDT 2010


On May 24, 2010, at 10:43 PM, Charles Davis wrote:
> This is the first patch in my GSoC series, in which I will factor out
> C++ ABI support in IRgen so that we can support other C++ ABIs. This
> patch is very simple. It just adds a class hierarchy similar to the one
> for Objective-C runtimes, and a basic implementation for the current GNU
> C++ ABI. All it supports is name mangling. CodeGenFunction has been
> redirected to use this new interface instead of holding the
> MangleContext itself (which is very specific to the GNU ABI right now).

For better or worse, people call this the Itanium ABI;  gcc's implementation hews
faithfully to that standard, and we should use that name.  The term "GNU ABI" is likely
to make people think of the old (pre-v3.2) gcc ABI.

Also, I think we can live without the "CG" prefix on "CGCXXABI".

I'd prefer to avoid lazy initialization.  We should never be calling into the
CXXABI for non-C++ code, so you should be able to create it during initialization
if CPlusPlus is set and then assert on its existence in getCXXABI().

Otherwise this looks fine to me.

John.



More information about the cfe-commits mailing list