[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
Thu Oct 7 09:29:09 PDT 2021


muiez created this revision.
muiez added reviewers: libc++, ldionne, Quuxplusone, DanielMcIntosh-IBM, abhina.sreeskantharajan, zibi, lalovic, fanbo-meng, SeanP, NancyWang2222.
Herald added subscribers: abrachet, phosek, krytarowski.
muiez requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

The aim of this patch is to provide ASCII/EBCDIC support for libc++ on z/OS and start a discussion about the approach. The approach taken involves using different inline namespaces for the ASCII/EBCDIC versions of the functions, and having implementations based on whether __NATIVE_ASCII_F is defined. More details are in the design document.

It should be noted that this patch does not include the script to build libc++ on z/OS in both 32 and 64-bit mode (and combining the A/E in a shared library). This will be in a separate patch.

Nonetheless, this patch cannot yet land because of a dependency on an underlying compiler feature (pragma map), which is in the works of being upstreamed.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D111323

Files:
  libcxx/docs/DesignDocs/MultipleCharEncodings.rst
  libcxx/include/__config
  libcxx/include/__iterator/ostreambuf_iterator.h
  libcxx/include/__locale
  libcxx/include/__string
  libcxx/include/__support/ibm/locale_mgmt_zos.h
  libcxx/include/__support/ibm/xlocale.h
  libcxx/include/charconv
  libcxx/include/codecvt
  libcxx/include/filesystem
  libcxx/include/ios
  libcxx/include/iosfwd
  libcxx/include/iostream
  libcxx/include/locale
  libcxx/include/regex
  libcxx/include/string
  libcxx/include/strstream
  libcxx/src/charconv.cpp
  libcxx/src/filesystem/directory_iterator.cpp
  libcxx/src/filesystem/operations.cpp
  libcxx/src/future.cpp
  libcxx/src/ios.cpp
  libcxx/src/iostream.cpp
  libcxx/src/locale.cpp
  libcxx/src/random.cpp
  libcxx/src/regex.cpp
  libcxx/src/string.cpp
  libcxx/src/strstream.cpp
  libcxx/src/support/ibm/xlocale_zos.cpp
  libcxx/src/support/runtime/stdexcept_default.ipp
  libcxx/src/system_error.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111323.377886.patch
Type: text/x-patch
Size: 47304 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20211007/7fe80d01/attachment-0001.bin>


More information about the libcxx-commits mailing list