diff options
author | Jan Svoboda <jan_svoboda@apple.com> | 2020-12-15 13:08:04 +0100 |
---|---|---|
committer | Jan Svoboda <jan_svoboda@apple.com> | 2020-12-16 10:28:37 +0100 |
commit | 0da240c2d050303c99564f1901b0d1548ffe2323 (patch) | |
tree | 9d0b3619295ec9691f1f952057067a731457ab59 | |
parent | c7afb698caf00f0ad0b479f7d2869c119aa3482e (diff) | |
download | llvm-0da240c2d050303c99564f1901b0d1548ffe2323.zip llvm-0da240c2d050303c99564f1901b0d1548ffe2323.tar.gz llvm-0da240c2d050303c99564f1901b0d1548ffe2323.tar.bz2 |
[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
-rw-r--r-- | clang/include/clang/Driver/Options.td | 12 | ||||
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 6 |
2 files changed, 8 insertions, 10 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 76deb9d..dd23d81 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -960,11 +960,14 @@ def dM : Flag<["-"], "dM">, Group<d_Group>, Flags<[CC1Option]>, HelpText<"Print macro definitions in -E mode instead of normal output">; def dead__strip : Flag<["-"], "dead_strip">; def dependency_file : Separate<["-"], "dependency-file">, Flags<[CC1Option]>, - HelpText<"Filename (or -) to write dependency output to">; + HelpText<"Filename (or -) to write dependency output to">, + MarshallingInfoString<"DependencyOutputOpts.OutputFile">; def dependency_dot : Separate<["-"], "dependency-dot">, Flags<[CC1Option]>, - HelpText<"Filename to write DOT-formatted header dependencies to">; + HelpText<"Filename to write DOT-formatted header dependencies to">, + MarshallingInfoString<"DependencyOutputOpts.DOTOutputFile">; def module_dependency_dir : Separate<["-"], "module-dependency-dir">, - Flags<[CC1Option]>, HelpText<"Directory to dump module dependencies to">; + Flags<[CC1Option]>, HelpText<"Directory to dump module dependencies to">, + MarshallingInfoString<"DependencyOutputOpts.ModuleDependencyOutputDir">; def dsym_dir : JoinedOrSeparate<["-"], "dsym-dir">, Flags<[NoXarchOption, RenderAsInput]>, HelpText<"Directory to output dSYM's (if any) to">, MetaVarName<"<dir>">; @@ -4514,7 +4517,8 @@ def module_file_deps : Flag<["-"], "module-file-deps">, HelpText<"Include module files in dependency output">, MarshallingInfoFlag<"DependencyOutputOpts.IncludeModuleFiles">; def header_include_file : Separate<["-"], "header-include-file">, - HelpText<"Filename (or -) to write header include output to">; + HelpText<"Filename (or -) to write header include output to">, + MarshallingInfoString<"DependencyOutputOpts.HeaderIncludeOutputFile">; def show_includes : Flag<["--"], "show-includes">, HelpText<"Print cl.exe style /showIncludes to stdout">; diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 2d6cb3b..5fbafa3 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1447,10 +1447,7 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK, static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts, ArgList &Args) { - Opts.OutputFile = std::string(Args.getLastArgValue(OPT_dependency_file)); Opts.Targets = Args.getAllArgValues(OPT_MT); - Opts.HeaderIncludeOutputFile = - std::string(Args.getLastArgValue(OPT_header_include_file)); if (Args.hasArg(OPT_show_includes)) { // Writing both /showIncludes and preprocessor output to stdout // would produce interleaved output, so use stderr for /showIncludes. @@ -1462,9 +1459,6 @@ static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts, } else { Opts.ShowIncludesDest = ShowIncludesDestination::None; } - Opts.DOTOutputFile = std::string(Args.getLastArgValue(OPT_dependency_dot)); - Opts.ModuleDependencyOutputDir = - std::string(Args.getLastArgValue(OPT_module_dependency_dir)); // Add sanitizer blacklists as extra dependencies. // They won't be discovered by the regular preprocessor, so // we let make / ninja to know about this implicit dependency. |