diff options
Diffstat (limited to 'tools/llvm-symbolizer/LLVMSymbolize.h')
-rw-r--r-- | tools/llvm-symbolizer/LLVMSymbolize.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/llvm-symbolizer/LLVMSymbolize.h b/tools/llvm-symbolizer/LLVMSymbolize.h index 288be80..45febe0 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.h +++ b/tools/llvm-symbolizer/LLVMSymbolize.h @@ -19,10 +19,12 @@ #include "llvm/Object/ObjectFile.h" #include "llvm/Support/MemoryBuffer.h" #include <map> +#include <memory> #include <string> namespace llvm { +typedef DILineInfoSpecifier::FunctionNameKind FunctionNameKind; using namespace object; namespace symbolize { @@ -33,17 +35,17 @@ class LLVMSymbolizer { public: struct Options { bool UseSymbolTable : 1; - bool PrintFunctions : 1; + FunctionNameKind PrintFunctions; bool PrintInlining : 1; bool Demangle : 1; std::string DefaultArch; - Options(bool UseSymbolTable = true, bool PrintFunctions = true, + Options(bool UseSymbolTable = true, + FunctionNameKind PrintFunctions = FunctionNameKind::LinkageName, bool PrintInlining = true, bool Demangle = true, std::string DefaultArch = "") : UseSymbolTable(UseSymbolTable), PrintFunctions(PrintFunctions), PrintInlining(PrintInlining), Demangle(Demangle), - DefaultArch(DefaultArch) { - } + DefaultArch(DefaultArch) {} }; LLVMSymbolizer(const Options &Opts = Options()) : Opts(Opts) {} @@ -72,7 +74,7 @@ private: std::string printDILineInfo(DILineInfo LineInfo) const; // Owns all the parsed binaries and object files. - SmallVector<Binary*, 4> ParsedBinariesAndObjects; + SmallVector<std::unique_ptr<Binary>, 4> ParsedBinariesAndObjects; // Owns module info objects. typedef std::map<std::string, ModuleInfo *> ModuleMapTy; ModuleMapTy Modules; |