[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