diff --git a/src/symbols/dwarf/dwarf_resolver.cpp b/src/symbols/dwarf/dwarf_resolver.cpp index 3d04353..b11d4b6 100644 --- a/src/symbols/dwarf/dwarf_resolver.cpp +++ b/src/symbols/dwarf/dwarf_resolver.cpp @@ -41,7 +41,10 @@ namespace libdwarf { constexpr bool trace_dwarf = false; // sorted range entries for dies - template + template< + typename T, + typename std::enable_if::value && sizeof(T) <= 16, int>::type = 0 + > class die_cache { public: struct die_handle { @@ -95,7 +98,7 @@ namespace libdwarf { struct die_and_data { const die_object& die; - const T& data; + T data; }; template auto make_lookup_result(typename std::vector::const_iterator vec_it) const