[all-commits] [llvm/llvm-project] 1d9e8e: [clang][deps] Support inferred modules

Michael Spencer via All-commits all-commits at lists.llvm.org
Mon May 17 02:42:58 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1d9e8e13dd7b3204fa51ada17d1608bdbd1bed66
      https://github.com/llvm/llvm-project/commit/1d9e8e13dd7b3204fa51ada17d1608bdbd1bed66
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2021-05-17 (Mon, 17 May 2021)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    A clang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
    A clang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
    A clang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
    A clang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
    A clang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
    A clang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
    M clang/test/ClangScanDeps/modules-full.cpp
    A clang/test/ClangScanDeps/modules-inferred-explicit-build.m
    A clang/test/ClangScanDeps/modules-inferred.m
    A clang/utils/module-deps-to-rsp.py

  Log Message:
  -----------
  [clang][deps] Support inferred modules

This patch adds support for inferred modules to the dependency scanner.

Effectively a cherry-pick of https://github.com/apple/llvm-project/pull/699 authored by @Bigcheese with libclang and other changes omitted.

Contains following changes:

1. [Clang][ScanDeps] Ignore __inferred_module.map dependency.
  * This shows up with inferred modules, but it doesn't exist on disk, so don't report it as a dependency.

2. [Clang][ScanDeps] Use the module map a module was inferred from for inferred modules.

Also includes a smoke test that uses clang-scan-deps output to perform an explicit build. There's no intention to duplicate whatever `test/Modules` contains, just to verify the produced command-line does "work" (with very loose definition of work).

Split from D100934.

Reviewed By: dexonsmith

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




More information about the All-commits mailing list