This is an archive of the discontinued LLVM Phabricator instance.

[clang][AIX] Don't ignore XCOFF visibility by default
ClosedPublic

Authored by daltenty on May 6 2022, 3:56 PM.

Details

Summary

D87451 added -mignore-xcoff-visibility for AIX targets and made it the default (which mimicked the behaviour of the XL 16.1 compiler on AIX).

However, ignoring hidden visibility has unwanted side effects and some libraries depend on visibility to hide non-ABI facing entities from user headers and
reserve the right to change these implementation details based on this (https://libcxx.llvm.org/DesignDocs/VisibilityMacros.html). This forces us to use
internal linkage fallbacks for these cases on AIX and creates an unwanted divergence in implementations on the plaform.

For these reasons, it's preferable to not add -mignore-xcoff-visibility by default, which is what this patch does.

Diff Detail

Event Timeline

daltenty created this revision.May 6 2022, 3:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 6 2022, 3:56 PM
Herald added a subscriber: nemanjai. · View Herald Transcript
daltenty requested review of this revision.May 6 2022, 3:56 PM
daltenty updated this revision to Diff 427784.May 6 2022, 4:19 PM

Differentiate between inlines hidden and regular visibility in test

This revision is now accepted and ready to land.May 11 2022, 8:35 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMay 11 2022, 10:28 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
This comment was removed by daltenty.