[all-commits] [llvm/llvm-project] bcda12: clang-cl: Add a `/showIncludes:user` flag.

Nico Weber via All-commits all-commits at lists.llvm.org
Tue Feb 25 06:43:58 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bcda1269c4c4d5d19d2be425c0a52d19fe09f146
      https://github.com/llvm/llvm-project/commit/bcda1269c4c4d5d19d2be425c0a52d19fe09f146
  Author: Nico Weber <thakis at chromium.org>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M clang/include/clang/Driver/CLCompatOptions.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/HeaderIncludeGen.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Frontend/print-header-includes.c
    M clang/test/Preprocessor/headermap-rel2.c

  Log Message:
  -----------
  clang-cl: Add a `/showIncludes:user` flag.

This flag is like /showIncludes, but it only includes user headers and
omits system headers (similar to MD and MMD). The motivation is that
projects that already track system includes though other means can use
this flag to get consistent behavior on Windows and non-Windows, and it
saves tools that output /showIncludes output (e.g. ninja) some work.

implementation-wise, this makes `HeaderIncludesCallback` honor the
existing `IncludeSystemHeaders` bit, and changes the three clients of
`HeaderIncludesCallback` (`/showIncludes`, `-H`, `CC_PRINT_HEADERS=1`)
to pass `-sys-header-deps` to set that bit -- except for
`/showIncludes:user`, which doesn't pass it.

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




More information about the All-commits mailing list