[libcxx-commits] [PATCH] D145017: [libc++][libc++abi] Make libc++ includes more compatible with its own modulemap

Alan Zhao via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Feb 28 15:46:01 PST 2023


ayzhao created this revision.
Herald added a subscriber: arichardson.
Herald added a project: All.
ayzhao requested review of this revision.
Herald added projects: libc++, libc++abi.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
Herald added a reviewer: libc++abi.

Currently, libc++ itself cannot be built with its own modulemap file.
This patch fixes includes in the implementation source files as follows:

- Replace includes of private headers with their public counterparts.
- Fix several missing imports.
- Move __std_stream out of the modulemap and into a header file in src/include as it's only used in iostream.cpp

Note that this patch isn't sufficient to allow compiling libc++ with
it's own modulemap - right now, clang still complains that iostream.cpp
is redefining several symbols in the iostream header with different
types.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D145017

Files:
  libcxx/include/CMakeLists.txt
  libcxx/include/__std_stream
  libcxx/include/libcxx.imp
  libcxx/include/memory
  libcxx/include/module.modulemap.in
  libcxx/src/filesystem/operations.cpp
  libcxx/src/include/ryu/digit_table.h
  libcxx/src/include/ryu/ryu.h
  libcxx/src/include/std_stream.h
  libcxx/src/include/to_chars_floating_point.h
  libcxx/src/ios.cpp
  libcxx/src/iostream.cpp
  libcxx/src/legacy_pointer_safety.cpp
  libcxx/src/locale.cpp
  libcxx/src/memory.cpp
  libcxx/src/new.cpp
  libcxx/src/optional.cpp
  libcxx/src/strstream.cpp
  libcxx/test/libcxx/private_headers.verify.cpp
  libcxx/test/libcxx/transitive_includes/cxx2b.csv
  libcxx/utils/data/ignore_format.txt
  libcxx/utils/generate_iwyu_mapping.py
  libcxxabi/src/cxa_default_handlers.cpp
  libcxxabi/src/fallback_malloc.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145017.501320.patch
Type: text/x-patch
Size: 32261 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230228/656eb39c/attachment-0001.bin>


More information about the libcxx-commits mailing list