>>>>> "Siva" == Siva Chandra <sivachan...@google.com> writes:

Siva> +# Load the xmethods.
Siva> +from libstdcxx.v6.xmethods import register_libstdcxx_xmethods
Siva> +register_libstdcxx_xmethods (gdb.current_objfile ())

I don't think any addition to the hook file should be needed.

Siva> +        # The object to be returned is the 0-th element in the tuple 
_m_t.
Siva> +        # The following retrieves the 0-th element of this tuple.
Siva> +        _m_t_base = _m_t[_m_t.type.fields()[0]] # std::tuple has a 
single base
Siva> +                                                # class and no data 
members.
Siva> +        for f in _m_t_base.type.fields():
Siva> +            # The object is embedded in the _Head_base<> base class of
Siva> +            # _m_t_base.
Siva> +            if f.is_base_class and f.name.find('std::_Head_base<') == 0:
Siva> +                _head_base = _m_t_base[f]

Did you investigate sharing any code with the printers?
If so, why did you choose not to?
If not, could you please look into that?

Tom

Reply via email to