This is an archive of the discontinued LLVM Phabricator instance.

Added StrictVTablePointers linking requirement
ClosedPublic

Authored by Prazek on Sep 2 2015, 5:23 PM.

Details

Summary

Generates code like this
!llvm.module.flags = !{!0, !1}

!0 = !{i32 1, !"StrictVTablePointers", i32 1}
!1 = !{i32 3, !"StrictVTablePointersRequirement", !2}
!2 = !{!"StrictVTablePointers", i32 1}

Diff Detail

Event Timeline

Prazek updated this revision to Diff 33891.Sep 2 2015, 5:23 PM
Prazek retitled this revision from to Added StrictVTablePointers linking requirement.
Prazek updated this object.
Prazek added reviewers: rsmith, rjmccall, majnemer, nlewycky.
Prazek added a subscriber: cfe-commits.
rsmith edited edge metadata.Sep 2 2015, 5:29 PM

Functionally LGTM, but please add a test case. Is there any precedent for how to spell these module flags (StrictVTablePointers / strict_vtable_pointers / strict.vtable.pointers)?

I see that CGObjCMac.cpp names it like this:

"Objective-C Garbage Collection"

Prazek updated this revision to Diff 33969.Sep 3 2015, 1:18 PM
Prazek edited edge metadata.
rsmith accepted this revision.Sep 3 2015, 1:42 PM
rsmith edited edge metadata.

LGTM

This revision is now accepted and ready to land.Sep 3 2015, 1:42 PM
Prazek closed this revision.Sep 15 2015, 2:48 PM