@@ -555,17 +555,17 @@ static llvm::IntrusiveRefCntPtr<vfs::OverlayFileSystem> createBaseFS() {
555555 return BaseFS;
556556}
557557
558- static llvm::Expected<CommonOptionsParser>
559- recreateOptionsParserIfNeeded ( llvm::ArrayRef< const char *> Args ,
560- llvm::Expected<CommonOptionsParser> OptionsParser ,
561- const ClangTidyOptions &EffectiveOptions) {
558+ static void recreateOptionsParserIfNeeded (
559+ llvm::Expected<CommonOptionsParser> &OptionsParser ,
560+ llvm::ArrayRef< const char *> Args ,
561+ const ClangTidyOptions &EffectiveOptions) {
562562
563563 auto DoubleDashIt = std::find (Args.begin (), Args.end (), StringRef (" --" ));
564564
565565 // Exit if we don't have any compiler arguments
566566 if (DoubleDashIt == Args.end () || Args.empty () ||
567567 Args.back () == StringRef (" --" ))
568- return OptionsParser ;
568+ return ;
569569
570570 auto IsDriverMode = [](StringRef Argument) {
571571 return Argument.startswith (" --driver-mode=" );
@@ -574,7 +574,7 @@ recreateOptionsParserIfNeeded(llvm::ArrayRef<const char *> Args,
574574 // Exit if --driver-mode= is explicitly passed in compiler arguments
575575 if (Args.end () !=
576576 std::find_if (std::next (DoubleDashIt), Args.end (), IsDriverMode))
577- return OptionsParser ;
577+ return ;
578578
579579 std::vector<std::string> CommandArguments (std::next (DoubleDashIt),
580580 Args.end ());
@@ -613,7 +613,7 @@ recreateOptionsParserIfNeeded(llvm::ArrayRef<const char *> Args,
613613
614614 // Exit if there is no --driver-mode= at this stage
615615 if (DriverModeIt == CommandArguments.end ())
616- return OptionsParser ;
616+ return ;
617617
618618 std::vector<const char *> NewArgs (Args.begin (), Args.end ());
619619
@@ -629,8 +629,8 @@ recreateOptionsParserIfNeeded(llvm::ArrayRef<const char *> Args,
629629 // proper --driver-mode=
630630 int ArgC = NewArgs.size ();
631631 const char **ArgV = NewArgs.data ();
632- return CommonOptionsParser::create (ArgC, ArgV, ClangTidyCategory,
633- cl::ZeroOrMore);
632+ OptionsParser = CommonOptionsParser::create (ArgC, ArgV, ClangTidyCategory,
633+ cl::ZeroOrMore);
634634}
635635
636636int clangTidyMain (int argc, const char **argv) {
@@ -672,8 +672,7 @@ int clangTidyMain(int argc, const char **argv) {
672672 SmallString<256 > FilePath = makeAbsolute (FileName);
673673 ClangTidyOptions EffectiveOptions = OptionsProvider->getOptions (FilePath);
674674
675- OptionsParser = recreateOptionsParserIfNeeded (Args, std::move (OptionsParser),
676- EffectiveOptions);
675+ recreateOptionsParserIfNeeded (OptionsParser, Args, EffectiveOptions);
677676 if (!OptionsParser) {
678677 llvm::WithColor::error () << llvm::toString (OptionsParser.takeError ());
679678 return 1 ;
0 commit comments