r192288 - Code cleanup: rename VTableContext to ItaniumVTableContext, VTableBuilder to ItaniumVTableBuilder and clang-format code around

Reid Kleckner rnk at google.com
Wed Oct 9 08:59:58 PDT 2013


On Wed, Oct 9, 2013 at 4:33 AM, Timur Iskhodzhanov <timurrrr at google.com>wrote:

> Author: timurrrr
>
> Modified: cfe/trunk/lib/CodeGen/CGVTables.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGVTables.h?rev=192288&r1=192287&r2=192288&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGVTables.h (original)
> +++ cfe/trunk/lib/CodeGen/CGVTables.h Wed Oct  9 06:33:51 2013
> @@ -33,7 +33,7 @@ class CodeGenVTables {
>
>    // FIXME: Consider moving VTContext and VFTContext into respective
> CXXABI
>    // classes?
> -  VTableContext VTContext;
> +  ItaniumVTableContext VTContext;
>    OwningPtr<MicrosoftVFTableContext> VFTContext;
>
>    /// VTableAddressPointsMapTy - Address points for a single vtable.
> @@ -72,7 +72,7 @@ public:
>
>    CodeGenVTables(CodeGenModule &CGM);
>
> -  VTableContext &getVTableContext() { return VTContext; }
> +  ItaniumVTableContext &getVTableContext() { return VTContext; }
>
>    MicrosoftVFTableContext &getVFTableContext() { return
> *VFTContext.get(); }
>

Long term, we don't need both VFTableContext and ItaniumVTableContext,
right?  Are we going to move to a common base like CGCXXABI with getters
that downcast and assert that we're in the right ABI?

One thing I wanted to do was get rid of the downcasting entirely by doing
something like giving the CGCXXABIs factory methods for the ABI-specific
manglers, record builders, and vtable builders.

Then MicrosoftCXXABI can keep a reference to the MicrosoftMangleContext
without having to get it back from CGM with a downcast.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131009/d7fe4a6a/attachment.html>


More information about the cfe-commits mailing list