Hi.
Thanks for your feedback. I fixed the regression. Here is the new patch.
26.06.2015, 00:51, "Yaron Keren" <[email protected]>:
> Hi Eugene,
>
> This patch does not pass clang extra tools regression tests locally,
>
> FAIL: Clang Tools :: modularize/NoProblems.modularize (7141 of 19860)
> Testing: 0 .. 10.. 20.. 30
> FAIL: Clang Tools :: modularize/NoProblemsDependencies.modularize (7144 of
> 19860)
> Testing: 0 .. 10.. 20.. 30
> FAIL: Clang Tools :: modularize/NoProblemsCoverage.modularize (7145 of 19860)
> (...)
>
> Please check it out.
>
> Yaron
>
> 2015-06-22 15:25 GMT+03:00 Eugene Kosov <[email protected]>:
>> Hi.
>>
>> Here are two patches for clang-tools-extra and for clang which simplifies
>> code a little bit and also removes possibility of implicit std::string
>> construction.
>>
>> --
>> Eugene
>>
>> _______________________________________________
>> cfe-commits mailing list
>> [email protected]
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
--
Eugene
diff --git a/clang-modernize/LoopConvert/StmtAncestor.h b/clang-modernize/LoopConvert/StmtAncestor.h
index e2ee2b9..fae4d13 100644
--- a/clang-modernize/LoopConvert/StmtAncestor.h
+++ b/clang-modernize/LoopConvert/StmtAncestor.h
@@ -170,9 +170,9 @@ private:
class DeclFinderASTVisitor :
public clang::RecursiveASTVisitor<DeclFinderASTVisitor> {
public:
- DeclFinderASTVisitor(const std::string &Name,
- const StmtGeneratedVarNameMap *GeneratedDecls) :
- Name(Name), GeneratedDecls(GeneratedDecls), Found(false) { }
+ DeclFinderASTVisitor(std::string Name,
+ const StmtGeneratedVarNameMap *GeneratedDecls)
+ : Name(std::move(Name)), GeneratedDecls(GeneratedDecls), Found(false) {}
/// Attempts to find any usages of variables name Name in Body, returning
/// true when it is used in Body. This includes the generated loop variables
diff --git a/clang-rename/RenamingAction.cpp b/clang-rename/RenamingAction.cpp
index 0c2307b..98cdc14 100644
--- a/clang-rename/RenamingAction.cpp
+++ b/clang-rename/RenamingAction.cpp
@@ -37,14 +37,11 @@ namespace rename {
class RenamingASTConsumer : public ASTConsumer {
public:
- RenamingASTConsumer(const std::string &NewName,
- const std::string &PrevName,
+ RenamingASTConsumer(StringRef NewName, StringRef PrevName,
const std::vector<std::string> &USRs,
- tooling::Replacements &Replaces,
- bool PrintLocations)
+ tooling::Replacements &Replaces, bool PrintLocations)
: NewName(NewName), PrevName(PrevName), USRs(USRs), Replaces(Replaces),
- PrintLocations(PrintLocations) {
- }
+ PrintLocations(PrintLocations) {}
void HandleTranslationUnit(ASTContext &Context) override {
const auto &SourceMgr = Context.getSourceManager();
@@ -58,7 +55,7 @@ public:
NewCandidates.clear();
}
- auto PrevNameLen = PrevName.length();
+ auto PrevNameLen = PrevName.size();
if (PrintLocations)
for (const auto &Loc : RenamingCandidates) {
FullSourceLoc FullLoc(Loc, SourceMgr);
@@ -75,7 +72,7 @@ public:
}
private:
- const std::string &NewName, &PrevName;
+ StringRef NewName, PrevName;
const std::vector<std::string> &USRs;
tooling::Replacements &Replaces;
bool PrintLocations;
diff --git a/clang-rename/RenamingAction.h b/clang-rename/RenamingAction.h
index d52f21d..68fe331 100644
--- a/clang-rename/RenamingAction.h
+++ b/clang-rename/RenamingAction.h
@@ -25,7 +25,7 @@ namespace rename {
class RenamingAction {
public:
- RenamingAction(const std::string &NewName, const std::string &PrevName,
+ RenamingAction(llvm::StringRef NewName, llvm::StringRef PrevName,
const std::vector<std::string> &USRs,
tooling::Replacements &Replaces, bool PrintLocations = false)
: NewName(NewName), PrevName(PrevName), USRs(USRs), Replaces(Replaces),
@@ -35,7 +35,7 @@ public:
std::unique_ptr<ASTConsumer> newASTConsumer();
private:
- const std::string &NewName, &PrevName;
+ llvm::StringRef NewName, PrevName;
const std::vector<std::string> &USRs;
tooling::Replacements &Replaces;
bool PrintLocations;
diff --git a/modularize/Modularize.cpp b/modularize/Modularize.cpp
index a309ecd..4acfe72 100644
--- a/modularize/Modularize.cpp
+++ b/modularize/Modularize.cpp
@@ -466,9 +466,9 @@ class EntityMap : public StringMap<SmallVector<Entry, 2> > {
public:
DenseMap<const FileEntry *, HeaderContents> HeaderContentMismatches;
- void add(const std::string &Name, enum Entry::EntryKind Kind, Location Loc) {
+ void add(StringRef Name, enum Entry::EntryKind Kind, Location Loc) {
// Record this entity in its header.
- HeaderEntry HE = { Name, Loc };
+ HeaderEntry HE = {Name.str(), Loc};
CurHeaderContents[Loc.File].push_back(HE);
// Check whether we've seen this entry before.
diff --git a/pp-trace/PPCallbacksTracker.cpp b/pp-trace/PPCallbacksTracker.cpp
index 8a37054..e4211b3 100644
--- a/pp-trace/PPCallbacksTracker.cpp
+++ b/pp-trace/PPCallbacksTracker.cpp
@@ -627,7 +627,7 @@ void PPCallbacksTracker::appendArgument(const char *Name,
// Append a double-quoted argument to the top trace item.
void PPCallbacksTracker::appendQuotedArgument(const char *Name,
- const std::string &Value) {
+ llvm::StringRef Value) {
std::string Str;
llvm::raw_string_ostream SS(Str);
SS << "\"" << Value << "\"";
diff --git a/pp-trace/PPCallbacksTracker.h b/pp-trace/PPCallbacksTracker.h
index 8c2e6bb..475e3bd 100644
--- a/pp-trace/PPCallbacksTracker.h
+++ b/pp-trace/PPCallbacksTracker.h
@@ -215,7 +215,7 @@ public:
void appendArgument(const char *Name, const clang::Module *Value);
/// \brief Append a double-quoted argument to the top trace item.
- void appendQuotedArgument(const char *Name, const std::string &Value);
+ void appendQuotedArgument(const char *Name, llvm::StringRef Value);
/// \brief Append a double-quoted file path argument to the top trace item.
void appendFilePathArgument(const char *Name, llvm::StringRef Value);
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits