summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index b51ec513f23..6d40a540350 100644
--- a/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -22,10 +22,8 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/FileSystem.h"
-#include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/Path.h"
-#include "llvm/Support/PrettyStackTrace.h"
-#include "llvm/Support/Signals.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdio>
#include <cstring>
@@ -103,24 +101,19 @@ static bool error(Expected<T> &ResOrErr) {
static bool parseCommand(StringRef InputString, bool &IsData,
std::string &ModuleName, uint64_t &ModuleOffset) {
- const char *kDataCmd = "DATA ";
- const char *kCodeCmd = "CODE ";
const char kDelimiters[] = " \n\r";
- IsData = false;
ModuleName = "";
- const char *pos = InputString.data();
- if (strncmp(pos, kDataCmd, strlen(kDataCmd)) == 0) {
- IsData = true;
- pos += strlen(kDataCmd);
- } else if (strncmp(pos, kCodeCmd, strlen(kCodeCmd)) == 0) {
+ if (InputString.consume_front("CODE ")) {
IsData = false;
- pos += strlen(kCodeCmd);
+ } else if (InputString.consume_front("DATA ")) {
+ IsData = true;
} else {
// If no cmd, assume it's CODE.
IsData = false;
}
+ const char *pos = InputString.data();
// Skip delimiters and parse input filename (if needed).
- if (ClBinaryName == "") {
+ if (ClBinaryName.empty()) {
pos += strspn(pos, kDelimiters);
if (*pos == '"' || *pos == '\'') {
char quote = *pos;
@@ -145,10 +138,7 @@ static bool parseCommand(StringRef InputString, bool &IsData,
}
int main(int argc, char **argv) {
- // Print stack trace if we signal out.
- sys::PrintStackTraceOnErrorSignal(argv[0]);
- PrettyStackTraceProgram X(argc, argv);
- llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
+ InitLLVM X(argc, argv);
llvm::sys::InitializeCOMRAII COM(llvm::sys::COMThreadingMode::MultiThreaded);
@@ -188,7 +178,7 @@ int main(int argc, char **argv) {
if (ClPrintAddress) {
outs() << "0x";
outs().write_hex(ModuleOffset);
- StringRef Delimiter = (ClPrettyPrint == true) ? ": " : "\n";
+ StringRef Delimiter = ClPrettyPrint ? ": " : "\n";
outs() << Delimiter;
}
if (IsData) {