diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-25 21:37:59 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-25 21:37:59 +0000 |
commit | d29bdc72bbefc938a23b51ac4282548d6e36d317 (patch) | |
tree | 46e466c7949f7f7a47c276194af1d7bd643d9a32 /tools/llvm-readobj/Win64EHDumper.h | |
parent | b6a667f0335027a8ed673d29af11fc6653781c11 (diff) | |
download | llvm-d29bdc72bbefc938a23b51ac4282548d6e36d317.tar.gz llvm-d29bdc72bbefc938a23b51ac4282548d6e36d317.tar.bz2 llvm-d29bdc72bbefc938a23b51ac4282548d6e36d317.tar.xz |
tools: avoid use of std::function
Remove the use of the std::function and replace the capturing lambda with a
non-capturing one, opting to pass the user data down to the context. This is
needed as std::function is not yet available on all hosted platforms (it
requires RTTI, which breaks on Windows).
Thanks to Nico Rieck for pointing this out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209607 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-readobj/Win64EHDumper.h')
-rw-r--r-- | tools/llvm-readobj/Win64EHDumper.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/llvm-readobj/Win64EHDumper.h b/tools/llvm-readobj/Win64EHDumper.h index d0c129c68b..2eac81048b 100644 --- a/tools/llvm-readobj/Win64EHDumper.h +++ b/tools/llvm-readobj/Win64EHDumper.h @@ -13,8 +13,6 @@ #include "StreamWriter.h" #include "llvm/Support/Win64EH.h" -#include <functional> - namespace llvm { namespace object { class COFFObjectFile; @@ -28,15 +26,17 @@ class Dumper { raw_ostream &OS; public: - typedef std::function<error_code(const object::coff_section *, uint64_t, - object::SymbolRef &)> SymbolResolver; + typedef error_code (*SymbolResolver)(const object::coff_section *, uint64_t, + object::SymbolRef &, void *); struct Context { const object::COFFObjectFile &COFF; SymbolResolver ResolveSymbol; + void *UserData; - Context(const object::COFFObjectFile &COFF, SymbolResolver Resolver) - : COFF(COFF), ResolveSymbol(Resolver) {} + Context(const object::COFFObjectFile &COFF, SymbolResolver Resolver, + void *UserData) + : COFF(COFF), ResolveSymbol(Resolver), UserData(UserData) {} }; private: |