[llvm] 56709b8 - [TextAPI] add symbol name prefixes to central location, NFC
Cyndy Ishida via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 23 11:24:04 PDT 2021
Author: Cyndy Ishida
Date: 2021-06-23T11:21:00-07:00
New Revision: 56709b869570f7825d335d633bc829511980c253
URL: https://github.com/llvm/llvm-project/commit/56709b869570f7825d335d633bc829511980c253
DIFF: https://github.com/llvm/llvm-project/commit/56709b869570f7825d335d633bc829511980c253.diff
LOG: [TextAPI] add symbol name prefixes to central location, NFC
These prefixes are used for printing the symbols coming from tbd files
and they were redundant across locations
Added:
Modified:
llvm/include/llvm/TextAPI/Symbol.h
llvm/lib/Object/TapiFile.cpp
llvm/tools/llvm-tapi-diff/DiffEngine.cpp
llvm/tools/llvm-tapi-diff/DiffEngine.h
Removed:
################################################################################
diff --git a/llvm/include/llvm/TextAPI/Symbol.h b/llvm/include/llvm/TextAPI/Symbol.h
index 84fd83ae8e04a..02f184d2502f9 100644
--- a/llvm/include/llvm/TextAPI/Symbol.h
+++ b/llvm/include/llvm/TextAPI/Symbol.h
@@ -53,6 +53,12 @@ enum class SymbolKind : uint8_t {
ObjectiveCInstanceVariable,
};
+constexpr StringLiteral ObjC1ClassNamePrefix = ".objc_class_name_";
+constexpr StringLiteral ObjC2ClassNamePrefix = "_OBJC_CLASS_$_";
+constexpr StringLiteral ObjC2MetaClassNamePrefix = "_OBJC_METACLASS_$_";
+constexpr StringLiteral ObjC2EHTypePrefix = "_OBJC_EHTYPE_$_";
+constexpr StringLiteral ObjC2IVarPrefix = "_OBJC_IVAR_$_";
+
using TargetList = SmallVector<Target, 5>;
class Symbol {
public:
diff --git a/llvm/lib/Object/TapiFile.cpp b/llvm/lib/Object/TapiFile.cpp
index 7a361990ba5d2..6b576260bdb14 100644
--- a/llvm/lib/Object/TapiFile.cpp
+++ b/llvm/lib/Object/TapiFile.cpp
@@ -14,17 +14,12 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Object/Error.h"
#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/TextAPI/Symbol.h"
using namespace llvm;
using namespace MachO;
using namespace object;
-static constexpr StringLiteral ObjC1ClassNamePrefix = ".objc_class_name_";
-static constexpr StringLiteral ObjC2ClassNamePrefix = "_OBJC_CLASS_$_";
-static constexpr StringLiteral ObjC2MetaClassNamePrefix = "_OBJC_METACLASS_$_";
-static constexpr StringLiteral ObjC2EHTypePrefix = "_OBJC_EHTYPE_$_";
-static constexpr StringLiteral ObjC2IVarPrefix = "_OBJC_IVAR_$_";
-
static uint32_t getFlags(const Symbol *Sym) {
uint32_t Flags = BasicSymbolRef::SF_Global;
if (Sym->isUndefined())
diff --git a/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp b/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp
index b766cf14380fc..481d35fce36a6 100644
--- a/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp
+++ b/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp
@@ -14,6 +14,7 @@
#include "llvm/Support/Casting.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TextAPI/InterfaceFile.h"
+#include "llvm/TextAPI/Symbol.h"
#include "llvm/TextAPI/Target.h"
using namespace llvm;
@@ -59,16 +60,16 @@ DiffScalarVal<bool, AD_Diff_Scalar_Bool>::print(raw_ostream &OS,
} // end namespace llvm
-std::string SymScalar::stringifySymbolKind(MachO::SymbolKind Kind) {
+StringLiteral SymScalar::getSymbolNamePrefix(MachO::SymbolKind Kind) {
switch (Kind) {
case MachO::SymbolKind::GlobalSymbol:
return "";
case MachO::SymbolKind::ObjectiveCClass:
- return "_OBJC_METACLASS_$_";
+ return ObjC2MetaClassNamePrefix;
case MachO::SymbolKind ::ObjectiveCClassEHType:
- return "_OBJC_EHTYPE_$_";
+ return ObjC2EHTypePrefix;
case MachO::SymbolKind ::ObjectiveCInstanceVariable:
- return "_OBJC_IVAR_$_";
+ return ObjC2IVarPrefix;
}
llvm_unreachable("Unknown llvm::MachO::SymbolKind enum");
}
@@ -96,15 +97,16 @@ void SymScalar::print(raw_ostream &OS, std::string Indent, MachO::Target Targ) {
if (Targ.Arch == MachO::AK_i386 &&
Targ.Platform == MachO::PlatformKind::macOS) {
OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ")
- << ".objc_class_name_" << Val->getName()
+ << ObjC1ClassNamePrefix << Val->getName()
<< getFlagString(Val->getFlags()) << "\n";
return;
}
- OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ") << "_OBJC_CLASS_$_"
- << Val->getName() << getFlagString(Val->getFlags()) << "\n";
+ OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ")
+ << ObjC2ClassNamePrefix << Val->getName()
+ << getFlagString(Val->getFlags()) << "\n";
}
OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ")
- << stringifySymbolKind(Val->getKind()) << Val->getName()
+ << getSymbolNamePrefix(Val->getKind()) << Val->getName()
<< getFlagString(Val->getFlags()) << "\n";
}
diff --git a/llvm/tools/llvm-tapi-
diff /DiffEngine.h b/llvm/tools/llvm-tapi-
diff /DiffEngine.h
index eea6c70885ab0..252fbd87c6374 100644
--- a/llvm/tools/llvm-tapi-
diff /DiffEngine.h
+++ b/llvm/tools/llvm-tapi-
diff /DiffEngine.h
@@ -99,7 +99,7 @@ class SymScalar {
/// The order is the file from which the
diff is found.
InterfaceInputOrder Order;
const MachO::Symbol *Val;
- std::string stringifySymbolKind(MachO::SymbolKind Kind);
+ StringLiteral getSymbolNamePrefix(MachO::SymbolKind Kind);
std::string stringifySymbolFlag(MachO::SymbolFlags Flag);
};
More information about the llvm-commits
mailing list