This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ][ZOS] Guard using declaration for ::fchmodat
ClosedPublic

Authored by zibi on Feb 8 2021, 4:49 PM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rG25aa0d12445e: [SystemZ][ZOS] Guard using declaration for ::fchmodat
Summary

The use of fchmodat() is beeing guarded but its using declaration is not. Let's use the same guard in both places to avoid compiler errors on platforms where fchmodat does not exist.

Diff Detail

Event Timeline

zibi requested review of this revision.Feb 8 2021, 4:49 PM
zibi created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptFeb 8 2021, 4:49 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
zibi added a comment.Feb 16 2021, 6:37 AM

ping - very minor change

My preference would be to extend https://reviews.llvm.org/D90257 to handle those declarations too.

zibi added a comment.Feb 16 2021, 1:07 PM

My preference would be to extend https://reviews.llvm.org/D90257 to handle those declarations too.

I like the idea, @ldionne and agree. However, D90257 depends on D90188 and both did not land yet AFAIKS not to mention we will have to wait for the changes to be picked up by the build compiler.

Can we make this change now to unblock the build on z/OS?
We can always remove this change as part of the extension of D90257.

ldionne accepted this revision.Feb 17 2021, 3:18 PM

I'm OK with that direction. But if you ship this, be aware that I'm going to remove your workaround when I ship the _LIBCPP_USING_IF_EXISTS patch, and that means you'll have to use a Clang that implements the attribute to get your build working. Are you OK with that?

This revision is now accepted and ready to land.Feb 17 2021, 3:18 PM
zibi added a comment.Feb 18 2021, 6:20 AM

I'm OK with that direction. But if you ship this, be aware that I'm going to remove your workaround when I ship the _LIBCPP_USING_IF_EXISTS patch, and that means you'll have to use a Clang that implements the attribute to get your build working. Are you OK with that?

Yes, thank you.

This revision was automatically updated to reflect the committed changes.