[libcxx-commits] [PATCH] D111323: [SystemZ][z/OS] ASCII/EBCDIC support for libc++
Muiez Ahmed via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Nov 30 10:48:28 PST 2021
muiez added a comment.
Thanks @ldionne for your detailed feedback and suggestions.
> To make progress on this:
>
> 1. Have you tried using `_LIBCPP_ABI_NAMESPACE`?
I prototyped with your suggestion to build the whole library twice, once with `_LIBCPP_ABI_NAMESPACE=__ascii` and once with `_LIBCPP_ABI_NAMESPACE=__ebcdic`; however, some symbols (with this approach) should not end up having `__ascii` / `__ebcdic` variations. In particular, we need to make sure there is only one variation generated, outside the A/E namespace. For example, we want the `*error_category` to be independent of A/E. These can be passed and thrown around. We want a `system_error_category` to be handled the same regardless whether it came from A or E. With that being said, would it be okay to move these instances to the c++abi (like `std::exception` was)? Or should we exclude them from the `_LIBCPP_ABI_NAMESPACE` part, for example using:
namespace std // purposefully not using versioning namespace
{
...
}
We can gather a list of candidates to cross check with you; however, the first ones that come to mind are the exception derived classes and mutex's.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111323/new/
https://reviews.llvm.org/D111323
More information about the libcxx-commits
mailing list