Author: Jan Svoboda Date: 2020-12-16T10:28:37+01:00 New Revision: 0da240c2d050303c99564f1901b0d1548ffe2323
URL: https://github.com/llvm/llvm-project/commit/0da240c2d050303c99564f1901b0d1548ffe2323 DIFF: https://github.com/llvm/llvm-project/commit/0da240c2d050303c99564f1901b0d1548ffe2323.diff LOG: [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 Added: Modified: clang/include/clang/Driver/Options.td clang/lib/Frontend/CompilerInvocation.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 76deb9de708b..dd23d810e388 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 2d6cb3bb878f..5fbafa3b2583 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. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits