This is an archive of the discontinued LLVM Phabricator instance.

For MS ABI, emit dllexport friend functions defined inline in class
ClosedPublic

Authored by sberg on Mar 24 2016, 1:22 AM.

Details

Summary

...as that is apparently what MSVC does. This is an updated version of r263738,
which had to be reverted in r263740 due to test failures. The original version
had erroneously emitted functions that are defined in class templates, too (see
the updated "Handle friend functions" code in EmitDeferredDecls,
lib/CodeGen/ModuleBuilder.cpp). (The updated tests needed to be split out into
their own dllexport-ms-friend.cpp because of the CHECK-NOTs which would have
interfered with subsequent CHECK-DAGs in dllexport.cpp.)

Diff Detail

Repository
rL LLVM

Event Timeline

sberg updated this revision to Diff 51517.Mar 24 2016, 1:22 AM
sberg retitled this revision from to For MS ABI, emit dllexport friend functions defined inline in class.
sberg updated this object.
sberg added a reviewer: rnk.
sberg added a subscriber: cfe-commits.
rnk accepted this revision.Mar 24 2016, 8:31 AM
rnk edited edge metadata.

lgtm

This revision is now accepted and ready to land.Mar 24 2016, 8:31 AM
sberg added a comment.Mar 24 2016, 9:40 AM

Can you please push this, I do not have commit access. Thanks

This revision was automatically updated to reflect the committed changes.