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 @@ -342,6 +342,14 @@ def fparse_all_comments : Flag<["-"], "fparse-all-comments">, Group, Flags<[CC1Option]>, MarshallingInfoFlag<"LangOpts->CommentOpts.ParseAllComments", "false">; +// Filesystem Options FileSystemOpts + +def working_directory : JoinedOrSeparate<["-"], "working-directory">, Flags<[CC1Option]>, + HelpText<"Resolve file paths relative to the specified directory">, + MarshallingInfoString<"FileSystemOpts.WorkingDir">; +def working_directory_EQ : Joined<["-"], "working-directory=">, Flags<[CC1Option]>, + Alias; + // Dependency Output Options def MV : Flag<["-"], "MV">, Group, Flags<[CC1Option]>, @@ -3516,11 +3524,6 @@ def : Flag<["-"], "no-integrated-as">, Alias, Flags<[CC1Option, DriverOption]>; -def working_directory : JoinedOrSeparate<["-"], "working-directory">, Flags<[CC1Option]>, - HelpText<"Resolve file paths relative to the specified directory">; -def working_directory_EQ : Joined<["-"], "working-directory=">, Flags<[CC1Option]>, - Alias; - // Double dash options, which are usually an alias for one of the previous // options. diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1570,10 +1570,6 @@ return Success; } -static void ParseFileSystemArgs(FileSystemOptions &Opts, ArgList &Args) { - Opts.WorkingDir = std::string(Args.getLastArgValue(OPT_working_directory)); -} - /// Parse the argument to the -ftest-module-file-extension /// command-line argument. /// @@ -3273,7 +3269,6 @@ Success &= ParseDiagnosticArgs(Res.getDiagnosticOpts(), Args, &Diags, /*DefaultDiagColor=*/false); ParseCommentArgs(LangOpts.CommentOpts, Args); - ParseFileSystemArgs(Res.getFileSystemOpts(), Args); // FIXME: We shouldn't have to pass the DashX option around here InputKind DashX = ParseFrontendArgs(Res.getFrontendOpts(), Args, Diags, LangOpts.IsHeaderFile);