[PATCH] D73245: Don't define std::max_align_t if not used in C++03 mode

2020-01-30 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. libc++ intentionally provides all the C++11 library functionality that it can, even when used from C++03 mode. So on the face of it, providing this name in C++03 mode seems appropriate. However... the implementation currently used by libc++ **doesn't work** in that mode

[PATCH] D73245: Don't define std::max_align_t if not used in C++03 mode

2020-01-30 Thread Joerg Sonnenberger via Phabricator via cfe-commits
joerg added a comment. Let me clarify the situation for a moment: (1) libc++ does try to work in C++03 mode. See the separate implementation of for pre-C++11. It is also desirable to support. This is completely beside the question of TR1 support. (2) The only reason why max_align_t is currently

[PATCH] D73245: Don't define std::max_align_t if not used in C++03 mode

2020-01-22 Thread Joerg Sonnenberger via Phabricator via cfe-commits
joerg added a comment. libc++ generally tries to play nice with C++03 code. It doesn't go out of its way to break it and keeping it usable helps dealing with a lot of rusty old code. That's what the patch is all about, not breaking things for no good reason. CHANGES SINCE LAST ACTION https:

[PATCH] D73245: Don't define std::max_align_t if not used in C++03 mode

2020-01-22 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF requested changes to this revision. EricWF added a comment. This revision now requires changes to proceed. the library has never had a C++03 mode, and I am against adding one now. I want libc++ to move away from C++03, not towards it CHANGES SINCE LAST ACTION https://reviews.llvm.org/

[PATCH] D73245: Don't define std::max_align_t if not used in C++03 mode

2020-01-22 Thread Joerg Sonnenberger via Phabricator via cfe-commits
joerg created this revision. joerg added a reviewer: mclow.lists. Herald added a subscriber: christof. max_align_t has been introduced by C++11 and C99. When an older language mode is explicitly requested, the system headers might not provide. Don't define it in this case unless other headers ()