Skip to content

Commit 0da240c

Browse files
committed
[clang][cli] Port DependencyOutput string based options to new option parsing system
Depends on D84186 Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D84187
1 parent c7afb69 commit 0da240c

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -960,11 +960,14 @@ def dM : Flag<["-"], "dM">, Group<d_Group>, Flags<[CC1Option]>,
960960
HelpText<"Print macro definitions in -E mode instead of normal output">;
961961
def dead__strip : Flag<["-"], "dead_strip">;
962962
def dependency_file : Separate<["-"], "dependency-file">, Flags<[CC1Option]>,
963-
HelpText<"Filename (or -) to write dependency output to">;
963+
HelpText<"Filename (or -) to write dependency output to">,
964+
MarshallingInfoString<"DependencyOutputOpts.OutputFile">;
964965
def dependency_dot : Separate<["-"], "dependency-dot">, Flags<[CC1Option]>,
965-
HelpText<"Filename to write DOT-formatted header dependencies to">;
966+
HelpText<"Filename to write DOT-formatted header dependencies to">,
967+
MarshallingInfoString<"DependencyOutputOpts.DOTOutputFile">;
966968
def module_dependency_dir : Separate<["-"], "module-dependency-dir">,
967-
Flags<[CC1Option]>, HelpText<"Directory to dump module dependencies to">;
969+
Flags<[CC1Option]>, HelpText<"Directory to dump module dependencies to">,
970+
MarshallingInfoString<"DependencyOutputOpts.ModuleDependencyOutputDir">;
968971
def dsym_dir : JoinedOrSeparate<["-"], "dsym-dir">,
969972
Flags<[NoXarchOption, RenderAsInput]>,
970973
HelpText<"Directory to output dSYM's (if any) to">, MetaVarName<"<dir>">;
@@ -4514,7 +4517,8 @@ def module_file_deps : Flag<["-"], "module-file-deps">,
45144517
HelpText<"Include module files in dependency output">,
45154518
MarshallingInfoFlag<"DependencyOutputOpts.IncludeModuleFiles">;
45164519
def header_include_file : Separate<["-"], "header-include-file">,
4517-
HelpText<"Filename (or -) to write header include output to">;
4520+
HelpText<"Filename (or -) to write header include output to">,
4521+
MarshallingInfoString<"DependencyOutputOpts.HeaderIncludeOutputFile">;
45184522
def show_includes : Flag<["--"], "show-includes">,
45194523
HelpText<"Print cl.exe style /showIncludes to stdout">;
45204524

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,10 +1447,7 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
14471447

14481448
static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts,
14491449
ArgList &Args) {
1450-
Opts.OutputFile = std::string(Args.getLastArgValue(OPT_dependency_file));
14511450
Opts.Targets = Args.getAllArgValues(OPT_MT);
1452-
Opts.HeaderIncludeOutputFile =
1453-
std::string(Args.getLastArgValue(OPT_header_include_file));
14541451
if (Args.hasArg(OPT_show_includes)) {
14551452
// Writing both /showIncludes and preprocessor output to stdout
14561453
// would produce interleaved output, so use stderr for /showIncludes.
@@ -1462,9 +1459,6 @@ static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts,
14621459
} else {
14631460
Opts.ShowIncludesDest = ShowIncludesDestination::None;
14641461
}
1465-
Opts.DOTOutputFile = std::string(Args.getLastArgValue(OPT_dependency_dot));
1466-
Opts.ModuleDependencyOutputDir =
1467-
std::string(Args.getLastArgValue(OPT_module_dependency_dir));
14681462
// Add sanitizer blacklists as extra dependencies.
14691463
// They won't be discovered by the regular preprocessor, so
14701464
// we let make / ninja to know about this implicit dependency.

0 commit comments

Comments
 (0)