diff options
Diffstat (limited to 'libdw/c++/dwarf_data')
-rw-r--r-- | libdw/c++/dwarf_data | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libdw/c++/dwarf_data b/libdw/c++/dwarf_data index d11efdb3..b4de970d 100644 --- a/libdw/c++/dwarf_data +++ b/libdw/c++/dwarf_data @@ -1327,12 +1327,16 @@ namespace elfutils inline const std::string &string () const { + if (dynamic_cast<const typename vw::value_source_file *> (_m_value)) + return source_file ().name (); return static_cast<const std::string &> (variant<typename vw::value_string> ()); } inline std::string &string () { + if (dynamic_cast<const typename vw::value_source_file *> (_m_value)) + return source_file ().name (); return static_cast<std::string &> (variant<typename vw::value_string> ()); } @@ -1554,7 +1558,10 @@ namespace elfutils typedef typename base_type::value_type value_type; typedef typename base_type::mapped_type mapped_type; - static const bool ordered = true; + static inline bool ordered () + { + return true; + } template<typename attrs> inline operator attrs () const |