This is an archive of the discontinued LLVM Phabricator instance.

MS ABI: Don't ICE for pointers to pointers to members of incomplete classes
ClosedPublic

Authored by majnemer on Sep 16 2014, 3:07 PM.

Details

Summary

CodeGen would try to come up with an LLVM IR type for a pointer to
member type on the way to forming an LLVM IR type for a pointer to
pointer to member type.

However, if the pointer to member representation has not been locked in yet,
we would not be able to come up with a pointer to member IR type.

In these cases, make the pointer to member type an incomplete type.
This will make the pointer to pointer to member type a pointer to an
incomplete type. If the class eventually obtains an inheritance model,
we will make the pointer to member type represent the actual inheritance
model.

Diff Detail

Repository
rL LLVM

Event Timeline

majnemer updated this revision to Diff 13765.Sep 16 2014, 3:07 PM
majnemer retitled this revision from to MS ABI: Don't ICE for pointers to pointers to members of incomplete classes.
majnemer updated this object.
majnemer added reviewers: rnk, rsmith.
majnemer added a subscriber: Unknown Object (MLST).
rnk accepted this revision.Sep 18 2014, 3:03 PM
rnk edited edge metadata.

Looks gross, please commit. :)

This revision is now accepted and ready to land.Sep 18 2014, 3:03 PM
majnemer closed this revision.Sep 18 2014, 3:15 PM
majnemer updated this revision to Diff 13852.

Closed by commit rL218084 (authored by @majnemer).