tree a73448cdcdcdc1e98bd57ad4f1f87e508b3d6516
parent 87261d98637ae3da5d0d87e2b805dc88d80c2cef
author Hans Wennborg <hans@chromium.org> 1618315143 +0200
committer Copybara-Service <copybara-worker@google.com> 1618600252 -0700

Add flag for showing skipped headers in -H / --show-includes output

Consider the following set of files:

  a.cc:
  #include "a.h"

  a.h:
  #ifndef A_H
  #define A_H

  #include "b.h"
  #include "c.h"  // This gets "skipped".

  #endif

  b.h:
  #ifndef B_H
  #define B_H

  #include "c.h"

  #endif

  c.h:
  #ifndef C_H
  #define C_H

  void c();

  #endif

And the output of the -H option:

  $ clang -c -H a.cc
  . ./a.h
  .. ./b.h
  ... ./c.h

Note that the include of c.h in a.h is not shown in the output (GCC does the
same). This is because of the include guard optimization: clang knows c.h is
covered by an include guard which is already defined, so when it sees the
include in a.h, it skips it. The same would have happened if #pragma once were
used instead of include guards.

However, a.h *does* include c.h, and it may be useful to show that in the -H
output. This patch adds a flag for doing that.

Differential revision: https://reviews.llvm.org/D100480

GitOrigin-RevId: f29dcbdde10c86cfd89196fc2aa0e7f6ca3c9c4e
