Better support for constructors with -cxx-abi microsoft

John McCall rjmccall at apple.com
Tue Feb 26 09:24:03 PST 2013


On Feb 26, 2013, at 7:48 AM, Timur Iskhodzhanov <timurrrr at google.com> wrote:
> That's a great suggestion!
> 
> Attached is a patch that does as you've described and also addresses
> all the TODOs I've left for myself in the previous patch.

I like how this is shaping up!  Just a few comments:

This:
  getContext().getTargetInfo()
is just CGM.getTarget().

+  llvm::BasicBlock *CallVbaseCtorsBB = CGF.createBasicBlock("ctor.init_vbases"),
+                   *SkipVbaseCtorsBB = CGF.createBasicBlock("ctor.skip_vbases");

Prefer separate declarations if you can't fit them on the same line.

> One questionable change is the removal of "static" for GetVTTParameter.
> I didn't want to make it a CGF method as it should be used anywhere
> except ItaniumCXXABI.cpp but we have to use it in CGClass.cpp until
> the full abstraction is finished.
> Please tell me if I cut a corner too much there and how to do it better.

Go ahead and move it to CodeGenFunction for now.

John.



More information about the cfe-commits mailing list