[libcxx-commits] [PATCH] D144994: [Draft][libc++][modules] Adds std module.

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Mar 20 10:18:16 PDT 2023


Mordante updated this revision to Diff 506637.
Mordante added a comment.

Updated due to Discourse discussion and minor improvements.

- Use the installation location as proposed on Discourse. This adds a proof-of-concept installer.
- Add CI jobs to test modules with parts disabled.
- Fix modules to work with no localization or no wide characters. Other configurations are errors.
- Adds a few empty modules, their headers export nothing.
- Improve the algorithm module.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D144994

Files:
  libcxx/CMakeLists.txt
  libcxx/cmake/caches/Generic-module-std-compat.cmake
  libcxx/cmake/caches/Generic-module-std.cmake
  libcxx/docs/Modules.rst
  libcxx/docs/index.rst
  libcxx/include/__algorithm/ranges_find_if.h
  libcxx/include/__algorithm/ranges_min_element.h
  libcxx/include/__compare/synth_three_way.h
  libcxx/include/tuple
  libcxx/modules/.clang-format
  libcxx/modules/CMakeLists.txt
  libcxx/modules/CMakeLists.txt.in
  libcxx/modules/std.compat.cppm
  libcxx/modules/std.compat/cassert.cppm
  libcxx/modules/std.compat/cctype.cppm
  libcxx/modules/std.compat/cerrno.cppm
  libcxx/modules/std.compat/cfenv.cppm
  libcxx/modules/std.compat/cfloat.cppm
  libcxx/modules/std.compat/cinttypes.cppm
  libcxx/modules/std.compat/climits.cppm
  libcxx/modules/std.compat/clocale.cppm
  libcxx/modules/std.compat/cmath.cppm
  libcxx/modules/std.compat/csetjmp.cppm
  libcxx/modules/std.compat/csignal.cppm
  libcxx/modules/std.compat/cstdarg.cppm
  libcxx/modules/std.compat/cstddef.cppm
  libcxx/modules/std.compat/cstdint.cppm
  libcxx/modules/std.compat/cstdio.cppm
  libcxx/modules/std.compat/cstdlib.cppm
  libcxx/modules/std.compat/cstring.cppm
  libcxx/modules/std.compat/ctime.cppm
  libcxx/modules/std.compat/cuchar.cppm
  libcxx/modules/std.compat/cwchar.cppm
  libcxx/modules/std.compat/cwctype.cppm
  libcxx/modules/std.cppm
  libcxx/modules/std/algorithm.cppm
  libcxx/modules/std/any.cppm
  libcxx/modules/std/array.cppm
  libcxx/modules/std/atomic.cppm
  libcxx/modules/std/barrier.cppm
  libcxx/modules/std/bit.cppm
  libcxx/modules/std/bitset.cppm
  libcxx/modules/std/cassert.cppm
  libcxx/modules/std/cctype.cppm
  libcxx/modules/std/cerrno.cppm
  libcxx/modules/std/cfenv.cppm
  libcxx/modules/std/cfloat.cppm
  libcxx/modules/std/charconv.cppm
  libcxx/modules/std/chrono.cppm
  libcxx/modules/std/cinttypes.cppm
  libcxx/modules/std/climits.cppm
  libcxx/modules/std/clocale.cppm
  libcxx/modules/std/cmath.cppm
  libcxx/modules/std/codecvt.cppm
  libcxx/modules/std/compare.cppm
  libcxx/modules/std/complex.cppm
  libcxx/modules/std/concepts.cppm
  libcxx/modules/std/condition_variable.cppm
  libcxx/modules/std/coroutine.cppm
  libcxx/modules/std/csetjmp.cppm
  libcxx/modules/std/csignal.cppm
  libcxx/modules/std/cstdarg.cppm
  libcxx/modules/std/cstddef.cppm
  libcxx/modules/std/cstdio.cppm
  libcxx/modules/std/cstdlib.cppm
  libcxx/modules/std/cstring.cppm
  libcxx/modules/std/ctime.cppm
  libcxx/modules/std/cuchar.cppm
  libcxx/modules/std/cwchar.cppm
  libcxx/modules/std/cwctype.cppm
  libcxx/modules/std/deque.cppm
  libcxx/modules/std/exception.cppm
  libcxx/modules/std/execution.cppm
  libcxx/modules/std/expected.cppm
  libcxx/modules/std/filesystem.cppm
  libcxx/modules/std/flat_map.cppm
  libcxx/modules/std/flat_set.cppm
  libcxx/modules/std/format.cppm
  libcxx/modules/std/forward_list.cppm
  libcxx/modules/std/fstream.cppm
  libcxx/modules/std/functional.cppm
  libcxx/modules/std/future.cppm
  libcxx/modules/std/generator.cppm
  libcxx/modules/std/initializer_list.cppm
  libcxx/modules/std/iomanip.cppm
  libcxx/modules/std/ios.cppm
  libcxx/modules/std/iosfwd.cppm
  libcxx/modules/std/iostream.cppm
  libcxx/modules/std/istream.cppm
  libcxx/modules/std/iterator.cppm
  libcxx/modules/std/latch.cppm
  libcxx/modules/std/limits.cppm
  libcxx/modules/std/list.cppm
  libcxx/modules/std/locale.cppm
  libcxx/modules/std/map.cppm
  libcxx/modules/std/mdspan.cppm
  libcxx/modules/std/memory.cppm
  libcxx/modules/std/memory_resource.cppm
  libcxx/modules/std/mutex.cppm
  libcxx/modules/std/new.cppm
  libcxx/modules/std/numbers.cppm
  libcxx/modules/std/numeric.cppm
  libcxx/modules/std/optional.cppm
  libcxx/modules/std/ostream.cppm
  libcxx/modules/std/print.cppm
  libcxx/modules/std/queue.cppm
  libcxx/modules/std/random.cppm
  libcxx/modules/std/ranges.cppm
  libcxx/modules/std/ratio.cppm
  libcxx/modules/std/regex.cppm
  libcxx/modules/std/scoped_allocator.cppm
  libcxx/modules/std/semaphore.cppm
  libcxx/modules/std/set.cppm
  libcxx/modules/std/shared_mutex.cppm
  libcxx/modules/std/source_location.cppm
  libcxx/modules/std/span.cppm
  libcxx/modules/std/spanstream.cppm
  libcxx/modules/std/sstream.cppm
  libcxx/modules/std/stack.cppm
  libcxx/modules/std/stacktrace.cppm
  libcxx/modules/std/stdexcept.cppm
  libcxx/modules/std/stdfloat.cppm
  libcxx/modules/std/stop_token.cppm
  libcxx/modules/std/streambuf.cppm
  libcxx/modules/std/string.cppm
  libcxx/modules/std/string_view.cppm
  libcxx/modules/std/strstream.cppm
  libcxx/modules/std/syncstream.cppm
  libcxx/modules/std/system_error.cppm
  libcxx/modules/std/thread.cppm
  libcxx/modules/std/tuple.cppm
  libcxx/modules/std/type_traits.cppm
  libcxx/modules/std/typeindex.cppm
  libcxx/modules/std/typeinfo.cppm
  libcxx/modules/std/unordered_map.cppm
  libcxx/modules/std/unordered_set.cppm
  libcxx/modules/std/utility.cppm
  libcxx/modules/std/valarray.cppm
  libcxx/modules/std/variant.cppm
  libcxx/modules/std/vector.cppm
  libcxx/modules/std/version.cppm
  libcxx/test/configs/cmake-bridge.cfg.in
  libcxx/test/configs/llvm-libc++-shared.cfg.in
  libcxx/test/configs/llvm-libc++-static.cfg.in
  libcxx/test/libcxx/language.support/support.types/cstddef.compile.pass.cpp
  libcxx/test/std/time/time.syn/formatter_tests.h
  libcxx/test/std/utilities/meta/meta.rel/is_convertible_fallback.pass.cpp
  libcxx/utils/ci/buildkite-pipeline.yml
  libcxx/utils/ci/run-buildbot
  libcxx/utils/libcxx/test/dsl.py
  libcxx/utils/libcxx/test/params.py
  libcxx/utils/use_modules_in_test.py
  runtimes/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144994.506637.patch
Type: text/x-patch
Size: 325577 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230320/894c2d8d/attachment-0001.bin>


More information about the libcxx-commits mailing list