summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-03-15 01:30:58 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-03-15 01:30:58 +0000
commit2a3b6a0f7be2b20f90dc92d5dcaaf06b0d2b016c (patch)
treeae7671b293949286290ede2f16be1b113d667e92
parentbf3b8539c139a33304565bae64b738172dc89da3 (diff)
llvm-cxxdump: Rename llvm-vtabledump to llvm-cxxdump
llvm-vtabledump has grown enough functionality not related to vtables that it deserves a name which is more descriptive.
-rw-r--r--llvm/test/CMakeLists.txt2
-rw-r--r--llvm/test/lit.cfg4
-rw-r--r--llvm/test/tools/llvm-cxxdump/Inputs/eh.obj.coff-i386 (renamed from llvm/test/tools/llvm-vtabledump/Inputs/eh.obj.coff-i386)bin7388 -> 7388 bytes
-rw-r--r--llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.coff-i386 (renamed from llvm/test/tools/llvm-vtabledump/Inputs/trivial.obj.coff-i386)bin2938 -> 2938 bytes
-rw-r--r--llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.elf-i386 (renamed from llvm/test/tools/llvm-vtabledump/Inputs/trivial.obj.elf-i386)bin1032 -> 1032 bytes
-rw-r--r--llvm/test/tools/llvm-cxxdump/eh.test (renamed from llvm/test/tools/llvm-vtabledump/eh.test)2
-rw-r--r--llvm/test/tools/llvm-cxxdump/trivial.test (renamed from llvm/test/tools/llvm-vtabledump/trivial.test)4
-rw-r--r--llvm/tools/CMakeLists.txt2
-rw-r--r--llvm/tools/Makefile2
-rw-r--r--llvm/tools/llvm-cxxdump/CMakeLists.txt (renamed from llvm/tools/llvm-vtabledump/CMakeLists.txt)4
-rw-r--r--llvm/tools/llvm-cxxdump/Error.cpp (renamed from llvm/tools/llvm-vtabledump/Error.cpp)22
-rw-r--r--llvm/tools/llvm-cxxdump/Error.h (renamed from llvm/tools/llvm-vtabledump/Error.h)18
-rw-r--r--llvm/tools/llvm-cxxdump/LLVMBuild.txt (renamed from llvm/tools/llvm-vtabledump/LLVMBuild.txt)4
-rw-r--r--llvm/tools/llvm-cxxdump/Makefile (renamed from llvm/tools/llvm-vtabledump/Makefile)4
-rw-r--r--llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp (renamed from llvm/tools/llvm-vtabledump/llvm-vtabledump.cpp)33
-rw-r--r--llvm/tools/llvm-cxxdump/llvm-cxxdump.h (renamed from llvm/tools/llvm-vtabledump/llvm-vtabledump.h)8
16 files changed, 55 insertions, 54 deletions
diff --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt
index f85a1d97e90..5a97ee720bd 100644
--- a/llvm/test/CMakeLists.txt
+++ b/llvm/test/CMakeLists.txt
@@ -28,6 +28,7 @@ set(LLVM_TEST_DEPENDS
llvm-bcanalyzer
llvm-c-test
llvm-cov
+ llvm-cxxdump
llvm-diff
llvm-dis
llvm-dsymutil
@@ -46,7 +47,6 @@ set(LLVM_TEST_DEPENDS
llvm-size
llvm-symbolizer
llvm-tblgen
- llvm-vtabledump
macho-dump
opt
FileCheck
diff --git a/llvm/test/lit.cfg b/llvm/test/lit.cfg
index 197b4582979..70f83fd0072 100644
--- a/llvm/test/lit.cfg
+++ b/llvm/test/lit.cfg
@@ -41,7 +41,7 @@ config.test_format = lit.formats.ShTest(execute_external)
# suffixes: A list of file extensions to treat as test files. This is overriden
# by individual lit.local.cfg files in the test subdirectories.
-config.suffixes = ['.ll', '.c', '.cpp', '.test', '.txt', '.s']
+config.suffixes = ['.ll', '.c', '.cxx', '.test', '.txt', '.s']
# excludes: A list of directories to exclude from the testsuite. The 'Inputs'
# subdirectories contain auxiliary inputs for various tests in their parent
@@ -228,6 +228,7 @@ for pattern in [r"\bbugpoint\b(?!-)",
r"\bllvm-bcanalyzer\b",
r"\bllvm-config\b",
r"\bllvm-cov\b",
+ r"\bllvm-cxxdump\b",
r"\bllvm-diff\b",
r"\bllvm-dis\b",
r"\bllvm-dsymutil\b",
@@ -246,7 +247,6 @@ for pattern in [r"\bbugpoint\b(?!-)",
r"\bllvm-rtdyld\b",
r"\bllvm-size\b",
r"\bllvm-tblgen\b",
- r"\bllvm-vtabledump\b",
r"\bllvm-c-test\b",
r"\bmacho-dump\b",
NOJUNK + r"\bopt\b",
diff --git a/llvm/test/tools/llvm-vtabledump/Inputs/eh.obj.coff-i386 b/llvm/test/tools/llvm-cxxdump/Inputs/eh.obj.coff-i386
index f34a079bdb8..f34a079bdb8 100644
--- a/llvm/test/tools/llvm-vtabledump/Inputs/eh.obj.coff-i386
+++ b/llvm/test/tools/llvm-cxxdump/Inputs/eh.obj.coff-i386
Binary files differ
diff --git a/llvm/test/tools/llvm-vtabledump/Inputs/trivial.obj.coff-i386 b/llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.coff-i386
index 3b9395583eb..3b9395583eb 100644
--- a/llvm/test/tools/llvm-vtabledump/Inputs/trivial.obj.coff-i386
+++ b/llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.coff-i386
Binary files differ
diff --git a/llvm/test/tools/llvm-vtabledump/Inputs/trivial.obj.elf-i386 b/llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.elf-i386
index 1a5c929b082..1a5c929b082 100644
--- a/llvm/test/tools/llvm-vtabledump/Inputs/trivial.obj.elf-i386
+++ b/llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.elf-i386
Binary files differ
diff --git a/llvm/test/tools/llvm-vtabledump/eh.test b/llvm/test/tools/llvm-cxxdump/eh.test
index 1c43e0e7f65..b323b05defe 100644
--- a/llvm/test/tools/llvm-vtabledump/eh.test
+++ b/llvm/test/tools/llvm-cxxdump/eh.test
@@ -1,4 +1,4 @@
-RUN: llvm-vtabledump %p/Inputs/eh.obj.coff-i386 \
+RUN: llvm-cxxdump %p/Inputs/eh.obj.coff-i386 \
RUN: | FileCheck %s --check-prefix=COFF-I386
diff --git a/llvm/test/tools/llvm-vtabledump/trivial.test b/llvm/test/tools/llvm-cxxdump/trivial.test
index 92bd058cfb1..450ed3b3780 100644
--- a/llvm/test/tools/llvm-vtabledump/trivial.test
+++ b/llvm/test/tools/llvm-cxxdump/trivial.test
@@ -1,7 +1,7 @@
-RUN: llvm-vtabledump %p/Inputs/trivial.obj.coff-i386 \
+RUN: llvm-cxxdump %p/Inputs/trivial.obj.coff-i386 \
RUN: | FileCheck %s --check-prefix=COFF-I386
-RUN: llvm-vtabledump %p/Inputs/trivial.obj.elf-i386 \
+RUN: llvm-cxxdump %p/Inputs/trivial.obj.elf-i386 \
RUN: | FileCheck %s --check-prefix=ELF-I386
COFF-I386: ??_7S@@6B@[0]: ??_R4S@@6B@
diff --git a/llvm/tools/CMakeLists.txt b/llvm/tools/CMakeLists.txt
index 1f415b620df..7859b49c9de 100644
--- a/llvm/tools/CMakeLists.txt
+++ b/llvm/tools/CMakeLists.txt
@@ -37,7 +37,7 @@ add_llvm_tool_subdirectory(llvm-readobj)
add_llvm_tool_subdirectory(llvm-rtdyld)
add_llvm_tool_subdirectory(llvm-dwarfdump)
add_llvm_tool_subdirectory(dsymutil)
-add_llvm_tool_subdirectory(llvm-vtabledump)
+add_llvm_tool_subdirectory(llvm-cxxdump)
if( LLVM_USE_INTEL_JITEVENTS )
add_llvm_tool_subdirectory(llvm-jitlistener)
else()
diff --git a/llvm/tools/Makefile b/llvm/tools/Makefile
index fcb6c647e3a..d8534866c3d 100644
--- a/llvm/tools/Makefile
+++ b/llvm/tools/Makefile
@@ -33,7 +33,7 @@ PARALLEL_DIRS := opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link \
macho-dump llvm-objdump llvm-readobj llvm-rtdyld \
llvm-dwarfdump llvm-cov llvm-size llvm-stress llvm-mcmarkup \
llvm-profdata llvm-symbolizer obj2yaml yaml2obj llvm-c-test \
- llvm-vtabledump verify-uselistorder dsymutil llvm-pdbdump
+ llvm-cxxdump verify-uselistorder dsymutil llvm-pdbdump
# If Intel JIT Events support is configured, build an extra tool to test it.
ifeq ($(USE_INTEL_JITEVENTS), 1)
diff --git a/llvm/tools/llvm-vtabledump/CMakeLists.txt b/llvm/tools/llvm-cxxdump/CMakeLists.txt
index 4fe205b6efd..ada886e8887 100644
--- a/llvm/tools/llvm-vtabledump/CMakeLists.txt
+++ b/llvm/tools/llvm-cxxdump/CMakeLists.txt
@@ -4,7 +4,7 @@ set(LLVM_LINK_COMPONENTS
Support
)
-add_llvm_tool(llvm-vtabledump
- llvm-vtabledump.cpp
+add_llvm_tool(llvm-cxxdump
+ llvm-cxxdump.cpp
Error.cpp
)
diff --git a/llvm/tools/llvm-vtabledump/Error.cpp b/llvm/tools/llvm-cxxdump/Error.cpp
index c5de8951636..16fed96e483 100644
--- a/llvm/tools/llvm-vtabledump/Error.cpp
+++ b/llvm/tools/llvm-cxxdump/Error.cpp
@@ -1,4 +1,4 @@
-//===- Error.cpp - system_error extensions for llvm-vtabledump --*- C++ -*-===//
+//===- Error.cxx - system_error extensions for llvm-cxxdump -----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
//
-// This defines a new error_category for the llvm-vtabledump tool.
+// This defines a new error_category for the llvm-cxxdump tool.
//
//===----------------------------------------------------------------------===//
@@ -17,27 +17,27 @@
using namespace llvm;
namespace {
-class vtabledump_error_category : public std::error_category {
+class cxxdump_error_category : public std::error_category {
public:
- const char *name() const LLVM_NOEXCEPT override { return "llvm.vtabledump"; }
+ const char *name() const LLVM_NOEXCEPT override { return "llvm.cxxdump"; }
std::string message(int ev) const override {
- switch (static_cast<vtabledump_error>(ev)) {
- case vtabledump_error::success:
+ switch (static_cast<cxxdump_error>(ev)) {
+ case cxxdump_error::success:
return "Success";
- case vtabledump_error::file_not_found:
+ case cxxdump_error::file_not_found:
return "No such file.";
- case vtabledump_error::unrecognized_file_format:
+ case cxxdump_error::unrecognized_file_format:
return "Unrecognized file type.";
}
llvm_unreachable(
- "An enumerator of vtabledump_error does not have a message defined.");
+ "An enumerator of cxxdump_error does not have a message defined.");
}
};
} // namespace
namespace llvm {
-const std::error_category &vtabledump_category() {
- static vtabledump_error_category o;
+const std::error_category &cxxdump_category() {
+ static cxxdump_error_category o;
return o;
}
} // namespace llvm
diff --git a/llvm/tools/llvm-vtabledump/Error.h b/llvm/tools/llvm-cxxdump/Error.h
index fd8bb18994d..7caf6d6447c 100644
--- a/llvm/tools/llvm-vtabledump/Error.h
+++ b/llvm/tools/llvm-cxxdump/Error.h
@@ -1,4 +1,4 @@
-//===- Error.h - system_error extensions for llvm-vtabledump ----*- C++ -*-===//
+//===- Error.h - system_error extensions for llvm-cxxdump -------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,33 +7,33 @@
//
//===----------------------------------------------------------------------===//
//
-// This declares a new error_category for the llvm-vtabledump tool.
+// This declares a new error_category for the llvm-cxxdump tool.
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_TOOLS_LLVM_VTABLEDUMP_ERROR_H
-#define LLVM_TOOLS_LLVM_VTABLEDUMP_ERROR_H
+#ifndef LLVM_TOOLS_LLVM_CXXDUMP_ERROR_H
+#define LLVM_TOOLS_LLVM_CXXDUMP_ERROR_H
#include <system_error>
namespace llvm {
-const std::error_category &vtabledump_category();
+const std::error_category &cxxdump_category();
-enum class vtabledump_error {
+enum class cxxdump_error {
success = 0,
file_not_found,
unrecognized_file_format,
};
-inline std::error_code make_error_code(vtabledump_error e) {
- return std::error_code(static_cast<int>(e), vtabledump_category());
+inline std::error_code make_error_code(cxxdump_error e) {
+ return std::error_code(static_cast<int>(e), cxxdump_category());
}
} // namespace llvm
namespace std {
template <>
-struct is_error_code_enum<llvm::vtabledump_error> : std::true_type {};
+struct is_error_code_enum<llvm::cxxdump_error> : std::true_type {};
}
#endif
diff --git a/llvm/tools/llvm-vtabledump/LLVMBuild.txt b/llvm/tools/llvm-cxxdump/LLVMBuild.txt
index 6a3cbfff4c1..4e088157799 100644
--- a/llvm/tools/llvm-vtabledump/LLVMBuild.txt
+++ b/llvm/tools/llvm-cxxdump/LLVMBuild.txt
@@ -1,4 +1,4 @@
-;===- ./tools/llvm-vtabledump/LLVMBuild.txt --------------------*- Conf -*--===;
+;===- ./tools/llvm-cxxdump/LLVMBuild.txt -----------------------*- Conf -*--===;
;
; The LLVM Compiler Infrastructure
;
@@ -17,6 +17,6 @@
[component_0]
type = Tool
-name = llvm-vtabledump
+name = llvm-cxxdump
parent = Tools
required_libraries = all-targets BitReader Object
diff --git a/llvm/tools/llvm-vtabledump/Makefile b/llvm/tools/llvm-cxxdump/Makefile
index 596c64c67b6..02e8e5f9010 100644
--- a/llvm/tools/llvm-vtabledump/Makefile
+++ b/llvm/tools/llvm-cxxdump/Makefile
@@ -1,4 +1,4 @@
-##===- tools/llvm-vtabledump/Makefile ----------------------*- Makefile -*-===##
+##===- tools/llvm-cxxdump/Makefile -------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
@@ -8,7 +8,7 @@
##===----------------------------------------------------------------------===##
LEVEL := ../..
-TOOLNAME := llvm-vtabledump
+TOOLNAME := llvm-cxxdump
LINK_COMPONENTS := bitreader object all-targets
# This tool has no plugins, optimize startup time.
diff --git a/llvm/tools/llvm-vtabledump/llvm-vtabledump.cpp b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
index de3f5a94378..e76f66c3980 100644
--- a/llvm/tools/llvm-vtabledump/llvm-vtabledump.cpp
+++ b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
@@ -1,4 +1,4 @@
-//===- llvm-vtabledump.cpp - Dump vtables in an Object File -----*- C++ -*-===//
+//===- llvm-cxxdump.cpp - Dump C++ data in an Object File -------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,11 +7,11 @@
//
//===----------------------------------------------------------------------===//
//
-// Dumps VTables resident in object files and archives.
+// Dumps C++ data resident in object files and archives.
//
//===----------------------------------------------------------------------===//
-#include "llvm-vtabledump.h"
+#include "llvm-cxxdump.h"
#include "Error.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Object/Archive.h"
@@ -134,7 +134,7 @@ static bool collectRelocationOffsets(
return false;
}
-static void dumpVTables(const ObjectFile *Obj) {
+static void dumpCXXData(const ObjectFile *Obj) {
struct CompleteObjectLocator {
StringRef Symbols[2];
ArrayRef<little32_t> Data;
@@ -333,7 +333,8 @@ static void dumpVTables(const ObjectFile *Obj) {
auto Key = std::make_pair(SymName, SymOffI);
if (VTableSymEntries.count(Key))
continue;
- const char *DataPtr = SymContents.substr(SymOffI, BytesInAddress).data();
+ const char *DataPtr =
+ SymContents.substr(SymOffI, BytesInAddress).data();
int64_t VData;
if (BytesInAddress == 8)
VData = *reinterpret_cast<const little64_t *>(DataPtr);
@@ -347,8 +348,7 @@ static void dumpVTables(const ObjectFile *Obj) {
// FIXME: Do something with these!
}
}
- for (const std::pair<std::pair<StringRef, uint64_t>, StringRef> &VFTableEntry :
- VFTableEntries) {
+ for (const auto &VFTableEntry : VFTableEntries) {
StringRef VFTableName = VFTableEntry.first.first;
uint64_t Offset = VFTableEntry.first.second;
StringRef SymName = VFTableEntry.second;
@@ -369,7 +369,8 @@ static void dumpVTables(const ObjectFile *Obj) {
outs() << COLName << "[OffsetToTop]: " << COL.Data[1] << '\n';
outs() << COLName << "[VFPtrOffset]: " << COL.Data[2] << '\n';
outs() << COLName << "[TypeDescriptor]: " << COL.Symbols[0] << '\n';
- outs() << COLName << "[ClassHierarchyDescriptor]: " << COL.Symbols[1] << '\n';
+ outs() << COLName << "[ClassHierarchyDescriptor]: " << COL.Symbols[1]
+ << '\n';
}
for (const std::pair<StringRef, ClassHierarchyDescriptor> &CHDPair : CHDs) {
StringRef CHDName = CHDPair.first;
@@ -395,7 +396,8 @@ static void dumpVTables(const ObjectFile *Obj) {
outs() << BCDName << "[VBPtrOffset]: " << BCD.Data[2] << '\n';
outs() << BCDName << "[OffsetInVBTable]: " << BCD.Data[3] << '\n';
outs() << BCDName << "[Flags]: " << BCD.Data[4] << '\n';
- outs() << BCDName << "[ClassHierarchyDescriptor]: " << BCD.Symbols[1] << '\n';
+ outs() << BCDName << "[ClassHierarchyDescriptor]: " << BCD.Symbols[1]
+ << '\n';
}
for (const std::pair<StringRef, TypeDescriptor> &TDPair : TDs) {
StringRef TDName = TDPair.first;
@@ -515,17 +517,16 @@ static void dumpArchive(const Archive *Arc) {
}
if (ObjectFile *Obj = dyn_cast<ObjectFile>(&*ChildOrErr.get()))
- dumpVTables(Obj);
+ dumpCXXData(Obj);
else
- reportError(Arc->getFileName(),
- vtabledump_error::unrecognized_file_format);
+ reportError(Arc->getFileName(), cxxdump_error::unrecognized_file_format);
}
}
static void dumpInput(StringRef File) {
// If file isn't stdin, check that it exists.
if (File != "-" && !sys::fs::exists(File)) {
- reportError(File, vtabledump_error::file_not_found);
+ reportError(File, cxxdump_error::file_not_found);
return;
}
@@ -540,9 +541,9 @@ static void dumpInput(StringRef File) {
if (Archive *Arc = dyn_cast<Archive>(&Binary))
dumpArchive(Arc);
else if (ObjectFile *Obj = dyn_cast<ObjectFile>(&Binary))
- dumpVTables(Obj);
+ dumpCXXData(Obj);
else
- reportError(File, vtabledump_error::unrecognized_file_format);
+ reportError(File, cxxdump_error::unrecognized_file_format);
}
int main(int argc, const char *argv[]) {
@@ -556,7 +557,7 @@ int main(int argc, const char *argv[]) {
// Register the target printer for --version.
cl::AddExtraVersionPrinter(TargetRegistry::printRegisteredTargetsForVersion);
- cl::ParseCommandLineOptions(argc, argv, "LLVM VTable Dumper\n");
+ cl::ParseCommandLineOptions(argc, argv, "LLVM C++ ABI Data Dumper\n");
// Default to stdin if no filename is specified.
if (opts::InputFilenames.size() == 0)
diff --git a/llvm/tools/llvm-vtabledump/llvm-vtabledump.h b/llvm/tools/llvm-cxxdump/llvm-cxxdump.h
index 62f755739c3..daa05cb2ca0 100644
--- a/llvm/tools/llvm-vtabledump/llvm-vtabledump.h
+++ b/llvm/tools/llvm-cxxdump/llvm-cxxdump.h
@@ -1,4 +1,4 @@
-//===-- llvm-vtabledump.h ---------------------------------------*- C++ -*-===//
+//===-- llvm-cxxdump.h ------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_TOOLS_LLVM_VTABLEDUMP_LLVM_VTABLEDUMP_H
-#define LLVM_TOOLS_LLVM_VTABLEDUMP_LLVM_VTABLEDUMP_H
+#ifndef LLVM_TOOLS_LLVM_CXXDUMP_LLVM_CXXDUMP_H
+#define LLVM_TOOLS_LLVM_CXXDUMP_LLVM_CXXDUMP_H
#include "llvm/Support/CommandLine.h"
#include <string>
@@ -17,7 +17,7 @@ namespace opts {
extern llvm::cl::list<std::string> InputFilenames;
} // namespace opts
-#define LLVM_VTABLEDUMP_ENUM_ENT(ns, enum) \
+#define LLVM_CXXDUMP_ENUM_ENT(ns, enum) \
{ #enum, ns::enum }
#endif