From 236129fb4460a4030eee685abc2f02b32458e775 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Thu, 7 Jan 2021 12:15:01 +0000 Subject: [PATCH] [CompilationDatabase] Pass Twine by const reference instead of by value. NFCI. --- clang/include/clang/Tooling/CompilationDatabase.h | 15 ++++++++------- clang/lib/Tooling/CompilationDatabase.cpp | 6 +++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/clang/include/clang/Tooling/CompilationDatabase.h b/clang/include/clang/Tooling/CompilationDatabase.h index cbd57e9609a..44af236347b 100644 --- a/clang/include/clang/Tooling/CompilationDatabase.h +++ b/clang/include/clang/Tooling/CompilationDatabase.h @@ -43,10 +43,10 @@ namespace tooling { /// Specifies the working directory and command of a compilation. struct CompileCommand { CompileCommand() = default; - CompileCommand(Twine Directory, Twine Filename, - std::vector CommandLine, Twine Output) + CompileCommand(const Twine &Directory, const Twine &Filename, + std::vector CommandLine, const Twine &Output) : Directory(Directory.str()), Filename(Filename.str()), - CommandLine(std::move(CommandLine)), Output(Output.str()){} + CommandLine(std::move(CommandLine)), Output(Output.str()) {} /// The working directory the command was executed from. std::string Directory; @@ -180,9 +180,9 @@ public: /// \param Argv Points to the command line arguments. /// \param ErrorMsg Contains error text if the function returns null pointer. /// \param Directory The base directory used in the FixedCompilationDatabase. - static std::unique_ptr loadFromCommandLine( - int &Argc, const char *const *Argv, std::string &ErrorMsg, - Twine Directory = "."); + static std::unique_ptr + loadFromCommandLine(int &Argc, const char *const *Argv, std::string &ErrorMsg, + const Twine &Directory = "."); /// Reads flags from the given file, one-per-line. /// Returns nullptr and sets ErrorMessage if we can't read the file. @@ -196,7 +196,8 @@ public: /// Constructs a compilation data base from a specified directory /// and command line. - FixedCompilationDatabase(Twine Directory, ArrayRef CommandLine); + FixedCompilationDatabase(const Twine &Directory, + ArrayRef CommandLine); /// Returns the given compile command. /// diff --git a/clang/lib/Tooling/CompilationDatabase.cpp b/clang/lib/Tooling/CompilationDatabase.cpp index d339fd044c0..1e19e68633d 100644 --- a/clang/lib/Tooling/CompilationDatabase.cpp +++ b/clang/lib/Tooling/CompilationDatabase.cpp @@ -323,7 +323,7 @@ std::unique_ptr FixedCompilationDatabase::loadFromCommandLine(int &Argc, const char *const *Argv, std::string &ErrorMsg, - Twine Directory) { + const Twine &Directory) { ErrorMsg.clear(); if (Argc == 0) return nullptr; @@ -368,8 +368,8 @@ FixedCompilationDatabase::loadFromBuffer(StringRef Directory, StringRef Data, return std::make_unique(Directory, std::move(Args)); } -FixedCompilationDatabase:: -FixedCompilationDatabase(Twine Directory, ArrayRef CommandLine) { +FixedCompilationDatabase::FixedCompilationDatabase( + const Twine &Directory, ArrayRef CommandLine) { std::vector ToolCommandLine(1, GetClangToolCommand()); ToolCommandLine.insert(ToolCommandLine.end(), CommandLine.begin(), CommandLine.end()); -- 2.11.0