[PATCH] D115959: [clangd] Fix undefined behavior when generating error message at rename with an invalid name
Aleksandr Platonov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Dec 19 11:30:25 PST 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rG555eacf75f21: [clangd] Fix undefined behavior when generating error message at rename with an… (authored by ArcsinX).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115959/new/
https://reviews.llvm.org/D115959
Files:
clang-tools-extra/clangd/refactor/Rename.cpp
clang-tools-extra/clangd/unittests/RenameTests.cpp
Index: clang-tools-extra/clangd/unittests/RenameTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/RenameTests.cpp
+++ clang-tools-extra/clangd/unittests/RenameTests.cpp
@@ -1060,6 +1060,11 @@
)cpp",
"conflict", !HeaderFile, "Conflict"},
+ {R"cpp(
+ int V^ar;
+ )cpp",
+ "\"const\" is a keyword", !HeaderFile, "const"},
+
{R"cpp(// Trying to rename into the same name, SameName == SameName.
void func() {
int S^ameName;
Index: clang-tools-extra/clangd/refactor/Rename.cpp
===================================================================
--- clang-tools-extra/clangd/refactor/Rename.cpp
+++ clang-tools-extra/clangd/refactor/Rename.cpp
@@ -455,7 +455,7 @@
}
llvm::Error makeError(InvalidName Reason) {
- auto Message = [](InvalidName Reason) {
+ auto Message = [](const InvalidName &Reason) {
switch (Reason.K) {
case InvalidName::Keywords:
return llvm::formatv("the chosen name \"{0}\" is a keyword",
@@ -733,7 +733,7 @@
return makeError(ReasonToReject::SameName);
auto Invalid = checkName(RenameDecl, RInputs.NewName);
if (Invalid)
- return makeError(*Invalid);
+ return makeError(std::move(*Invalid));
auto Reject = renameable(RenameDecl, RInputs.MainFilePath, RInputs.Index);
if (Reject)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115959.395348.patch
Type: text/x-patch
Size: 1375 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20211219/1fb9bc79/attachment-0001.bin>
More information about the cfe-commits
mailing list