[all-commits] [llvm/llvm-project] 6626f6: [clang][deps] Override dependency and serialized d...

Ben Langmuir via All-commits all-commits at lists.llvm.org
Tue Jul 12 08:20:35 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6626f6fec3d37b78b628b858bdadbbb8301e1a2f
      https://github.com/llvm/llvm-project/commit/6626f6fec3d37b78b628b858bdadbbb8301e1a2f
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2022-07-12 (Tue, 12 Jul 2022)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    R clang/test/ClangScanDeps/Inputs/preserved-args/cdb.json.template
    R clang/test/ClangScanDeps/Inputs/preserved-args/mod.h
    R clang/test/ClangScanDeps/Inputs/preserved-args/module.modulemap
    R clang/test/ClangScanDeps/Inputs/preserved-args/tu.c
    M clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template
    A clang/test/ClangScanDeps/generate-modules-path-args.c
    R clang/test/ClangScanDeps/preserved-args.c
    M clang/test/ClangScanDeps/removed-args.c
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][deps] Override dependency and serialized diag files for modules

When building modules, override secondary outputs (dependency file,
dependency targets, serialized diagnostic file) in addition to the pcm
file path. This avoids inheriting per-TU command-line options that
cause non-determinism in the results (non-deterministic command-line for
the module build, non-determinism in which TU's .diag and .d files will
contain the module outputs). In clang-scan-deps we infer whether to
generate dependency or serialized diagnostic files based on an original
command-line. In a real build system this should be modeled explicitly.

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




More information about the All-commits mailing list