[llvm] r347670 - [Demangle] remove itaniumFindTypesInMangledName
Pavel Labath via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 27 08:11:24 PST 2018
Author: labath
Date: Tue Nov 27 08:11:24 2018
New Revision: 347670
URL: http://llvm.org/viewvc/llvm-project?rev=347670&view=rev
Log:
[Demangle] remove itaniumFindTypesInMangledName
Summary:
This (very specialized) function was added to enable an LLDB use case.
Now that a more generic interface (overriding of parser functions -
D52992) is available, and LLDB has been converted to use that (D54074),
the function is unused and can be removed.
Reviewers: erik.pilkington, sgraenitz, rsmith
Subscribers: mgorny, hiraditya, christof, libcxx-commits, llvm-commits
Differential Revision: https://reviews.llvm.org/D54893
Removed:
llvm/trunk/unittests/Demangle/FindTypesInMangledNameTest.cpp
Modified:
llvm/trunk/include/llvm/Demangle/Demangle.h
llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h
llvm/trunk/lib/Demangle/ItaniumDemangle.cpp
llvm/trunk/unittests/Demangle/CMakeLists.txt
Modified: llvm/trunk/include/llvm/Demangle/Demangle.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Demangle/Demangle.h?rev=347670&r1=347669&r2=347670&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Demangle/Demangle.h (original)
+++ llvm/trunk/include/llvm/Demangle/Demangle.h Tue Nov 27 08:11:24 2018
@@ -31,11 +31,6 @@ enum : int {
char *itaniumDemangle(const char *mangled_name, char *buf, size_t *n,
int *status);
-/// Calls the callback \c Callback with \c Ctx as an argument whenever a type is
-/// encountered. Returns true if \c MangledName couldn't be parsed.
-bool itaniumFindTypesInMangledName(const char *MangledName, void *Ctx,
- void (*Callback)(void *, const char *));
-
enum MSDemangleFlags { MSDF_None = 0, MSDF_DumpBackrefs = 1 << 0 };
char *microsoftDemangle(const char *mangled_name, char *buf, size_t *n,
Modified: llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h?rev=347670&r1=347669&r2=347670&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h (original)
+++ llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h Tue Nov 27 08:11:24 2018
@@ -2157,9 +2157,6 @@ template <typename Derived, typename All
// conversion operator's type, and are resolved in the enclosing <encoding>.
PODSmallVector<ForwardTemplateReference *, 4> ForwardTemplateRefs;
- void (*TypeCallback)(void *, const char *) = nullptr;
- void *TypeCallbackContext = nullptr;
-
bool TryToParseTemplateArgs = true;
bool PermitForwardTemplateReferences = false;
bool ParsingLambdaParams = false;
@@ -3453,9 +3450,6 @@ template <typename Derived, typename All
Node *AbstractManglingParser<Derived, Alloc>::parseType() {
Node *Result = nullptr;
- if (TypeCallback != nullptr)
- TypeCallback(TypeCallbackContext, First);
-
switch (look()) {
// ::= <qualified-type>
case 'r':
Modified: llvm/trunk/lib/Demangle/ItaniumDemangle.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Demangle/ItaniumDemangle.cpp?rev=347670&r1=347669&r2=347670&view=diff
==============================================================================
--- llvm/trunk/lib/Demangle/ItaniumDemangle.cpp (original)
+++ llvm/trunk/lib/Demangle/ItaniumDemangle.cpp Tue Nov 27 08:11:24 2018
@@ -356,15 +356,6 @@ char *llvm::itaniumDemangle(const char *
return InternalStatus == demangle_success ? Buf : nullptr;
}
-bool llvm::itaniumFindTypesInMangledName(const char *MangledName, void *Ctx,
- void (*Callback)(void *,
- const char *)) {
- Demangler Parser(MangledName, MangledName + std::strlen(MangledName));
- Parser.TypeCallback = Callback;
- Parser.TypeCallbackContext = Ctx;
- return Parser.parse() == nullptr;
-}
-
ItaniumPartialDemangler::ItaniumPartialDemangler()
: RootNode(nullptr), Context(new Demangler{nullptr, nullptr}) {}
Modified: llvm/trunk/unittests/Demangle/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Demangle/CMakeLists.txt?rev=347670&r1=347669&r2=347670&view=diff
==============================================================================
--- llvm/trunk/unittests/Demangle/CMakeLists.txt (original)
+++ llvm/trunk/unittests/Demangle/CMakeLists.txt Tue Nov 27 08:11:24 2018
@@ -6,5 +6,4 @@ set(LLVM_LINK_COMPONENTS
add_llvm_unittest(DemangleTests
ItaniumDemangleTest.cpp
PartialDemangleTest.cpp
- FindTypesInMangledNameTest.cpp
)
Removed: llvm/trunk/unittests/Demangle/FindTypesInMangledNameTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Demangle/FindTypesInMangledNameTest.cpp?rev=347669&view=auto
==============================================================================
--- llvm/trunk/unittests/Demangle/FindTypesInMangledNameTest.cpp (original)
+++ llvm/trunk/unittests/Demangle/FindTypesInMangledNameTest.cpp (removed)
@@ -1,34 +0,0 @@
-//===------------------ FindTypesInMangledNameTest.cpp --------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include <cstdlib>
-#include <vector>
-#include "llvm/Demangle/Demangle.h"
-#include "gtest/gtest.h"
-
-TEST(FindTypesInMangledNameTest, Test) {
- std::vector<const char *> Types;
- const char *Mangled = "_Z1fiv";
- EXPECT_FALSE(llvm::itaniumFindTypesInMangledName(
- Mangled, static_cast<void *>(&Types), [](void *Ty, const char *P) {
- static_cast<std::vector<const char *> *>(Ty)->push_back(P);
- }));
- EXPECT_EQ(Types.size(), size_t(2));
- EXPECT_EQ(Mangled + 4, Types.front());
- EXPECT_EQ(Mangled + 5, Types.back());
-
- EXPECT_TRUE(llvm::itaniumFindTypesInMangledName(
- "Not a mangled name!", nullptr, [](void *, const char *) {}));
-
- int TC = 0;
- EXPECT_FALSE(llvm::itaniumFindTypesInMangledName(
- "_Z1fPRic", static_cast<void *>(&TC),
- [](void *Ctx, const char *) { ++*static_cast<int *>(Ctx); }));
- EXPECT_EQ(TC, 4); // pointer, reference, int, char.
-}
More information about the llvm-commits
mailing list