[all-commits] [llvm/llvm-project] fc76b4: Rename IsMissingRequirement to IsUnimportable and ...

Richard Smith via All-commits all-commits at lists.llvm.org
Fri Apr 17 23:02:59 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fc76b4ad3da3c1f5fdc34370a55d613b3ca7af73
      https://github.com/llvm/llvm-project/commit/fc76b4ad3da3c1f5fdc34370a55d613b3ca7af73
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-04-17 (Fri, 17 Apr 2020)

  Changed paths:
    M clang/include/clang/Basic/Module.h
    M clang/lib/Basic/Module.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  Rename IsMissingRequirement to IsUnimportable and set it for shadowed
modules too.

This more accurately reflects the semantics of this flag, as distinct
from "IsAvailable", which (in an explicit modules world) only describes
whether a module is buildable, not whether it's importable.


  Commit: 6bc7502385cc2a06954082a7d0e6418e610d35f4
      https://github.com/llvm/llvm-project/commit/6bc7502385cc2a06954082a7d0e6418e610d35f4
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-04-17 (Fri, 17 Apr 2020)

  Changed paths:
    M clang/lib/Basic/Module.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/Inputs/missing-header-local-visibility/a.h
    A clang/test/Modules/Inputs/missing-header-local-visibility/all.h
    A clang/test/Modules/Inputs/missing-header-local-visibility/b.h
    A clang/test/Modules/Inputs/missing-header-local-visibility/module.modulemap
    A clang/test/Modules/Inputs/missing-header-local-visibility/x.h
    A clang/test/Modules/missing-header-local-visibility.cpp

  Log Message:
  -----------
  When making modules transitively visible, don't take into account
whether they have missing header files.

Whether a module's headers happen to be present on the local file system
should make no difference to whether we make its contents visible when
importing another module that re-exports it. If we have an up-to-date
AST file that we can load, that's all that matters.

This fixes the ability to header syntax checking for modular headers in
C++20 mode (or in prior modes where -fmodules-local-submodule-visibility
is enabled but -fmodules is not).


Compare: https://github.com/llvm/llvm-project/compare/c8248dc3bb36...6bc7502385cc


More information about the All-commits mailing list