After some feedback in https://reviews.llvm.org/D122861, I am wondering if this makes sense for the respective headers for AIX, z/OS, Solaris and musl libc.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thanks for the followup patch! SGTM, but I like to see the feedback of the maintainers of the affected systems before approving.
Looking at this and D122861 again, it strikes me that perhaps the goal was for these to be valid when compiling as C. However, I think that might be a non-goal since one should simply not have libc++ in the header search paths when compiling as C.
So this LGTM, but pinging vendors for awareness. I suggest you ship this if nobody objects within a week or so, just to avoid stalling.
This change seems ok in principal, but these functions are extern 'C", so now that they're no longer internal linkage they'll provide the same symbol as the real thing. Adding such functions with linkable POSIX reserved names into user program seems like we are asking for trouble. Can we get these moved into some kind of namespace or at least with some kind of double underscore prefix?
(As a side note, _LIBCPP_HIDE_FROM_ABI doesn't exactly work as intend on AIX yet either, as we don't have complete visibility support in clang at the moment. That's something we're actively working on though)
Any guidance as to how I should proceed?
I'm ok if this goes ahead as is from the AIX perspective (sorry didn't mean to stall this if it's waiting from my earlier comment). I can take a todo to revisit my earlier suggestion if we run into problems.