[libcxx-commits] [PATCH] D97870: [libc++] Add missing header <cuchar>

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jul 6 15:22:04 PDT 2021


Quuxplusone added a comment.

> We already do, and it's broken! https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config#L441

Well, it's definitely broken, because we do it again later on:
https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config#L825
(er, I guess redundant typedef aliases actually became legal in C++17 or thereabouts? okay...)

I think the original sin there is that `<__config>` is trying to define typedefs in the global namespace. What if we defined `char16_t` etc. inside `namespace _VSTD` instead, so that they didn't conflict with the C library's aliases in the global namespace?

I mean, you've looked at this more than I have, and I'm not trying to block this if you just want to get it in; but it sure would be //nice// not to have `<cuchar>` be the one special header you can't include in C++03 mode, so I'm trying to suggest ways to get around that.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97870/new/

https://reviews.llvm.org/D97870



More information about the libcxx-commits mailing list