[all-commits] [llvm/llvm-project] 40cdb2: [libc++][Modules] Make module exports consistent w...

Ian Anderson via All-commits all-commits at lists.llvm.org
Thu Jun 29 15:37:18 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 40cdb220f5af63160679def0aee23aa1cbd49b60
      https://github.com/llvm/llvm-project/commit/40cdb220f5af63160679def0aee23aa1cbd49b60
  Author: Ian Anderson <iana at apple.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__memory/concepts.h
    M libcxx/include/__ranges/all.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv

  Log Message:
  -----------
  [libc++][Modules] Make module exports consistent with header includes

Some modules export modules that they don't import (i.e. that their header doesn't directly include). That sometimes works when the exported submodule is in the same module, but when the `std` mega module is broken up (D144322), some of the exports stop working. Make the exports and includes consistent, either by adding includes for the exports, or by removing exports for missing includes.

The `concepts.equality_comparable` export in `std.iterator.__iterator.concepts` isn't doing anything because 1) it's resolved as `std.iterator.__iterator.concepts.equality_comparable` and 2) there's a `__concepts` submodule in between `std.concepts` and `equality_comparable`. Fix it to be `std.concepts.__concepts.equality_comparable`.

<span> is listed in both `std.span` and `std.experimental.span`. Delete the latter module.
There is no `__errc` module or header, so remove that export from `std.system_error`.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D153211




More information about the All-commits mailing list