diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -629,6 +629,12 @@ def H : Flag<["-"], "H">, Flags<[CC1Option]>, Group, HelpText<"Show header includes and nesting depth">, MarshallingInfoFlag>; +def fshow_skipped_includes : Flag<["-"], "fshow-skipped-includes">, + Flags<[CC1Option]>, HelpText<"Show skipped includes in -H output.">, + DocBrief<[{#include files may be "skipped" due to include guard optimization + or #pragma once. This flag makes -H show also such includes.}]>, + MarshallingInfoFlag>; + def I_ : Flag<["-"], "I-">, Group, HelpText<"Restrict all prior -I flags to double-quoted inclusion and " "remove current directory from include path">; @@ -4945,11 +4951,6 @@ def sys_header_deps : Flag<["-"], "sys-header-deps">, HelpText<"Include system headers in dependency output">, MarshallingInfoFlag>; -def show_skipped_includes : Flag<["-"], "show-skipped-includes">, - HelpText<"Show skipped includes in -H output.">, - DocBrief<[{#include files may be "skipped" due to include guard optimization - or #pragma once. This flag makes -H show also such includes.}]>, - MarshallingInfoFlag>; def module_file_deps : Flag<["-"], "module-file-deps">, HelpText<"Include module files in dependency output">, MarshallingInfoFlag>; diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -5134,6 +5134,7 @@ CmdArgs.push_back("-H"); CmdArgs.push_back("-sys-header-deps"); } + Args.AddAllArgs(CmdArgs, options::OPT_fshow_skipped_includes); if (D.CCPrintHeaders && !D.CCGenDiagnostics) { CmdArgs.push_back("-header-include-file");