Skip to content
  • hjk's avatar
    Debugger: Add a boost::variant dumper · 81d93155
    hjk authored
    
    
    This requires making template argument extraction a bit more robust
    
    GCC 5.4.1 created debug info only reports the first argument for
    boost::variant<int, bool>:
    
        #include <boost/variant/variant.hpp
        int main() { boost::variant<int, float> v = 1; return 0; }
    
        py print(gdb.parse_and_eval('v').type)
    
          -> boost::variant<int, float>
    
        py print(gdb.parse_and_eval('v').type.template_argument(0))
    
          -> int
    
        py print(gdb.parse_and_eval('v').type.template_argument(1))
    
           -> Traceback (most recent call last):
              File \"<string>\", line 1, in <module>
              RuntimeError: No argument 1 in template.
              Error while executing Python code.
    
    Change-Id: Iedca8b073078c93449ab61bb2cab05d6cd9803ba
    Reviewed-by: default avatarChristian Stenger <christian.stenger@qt.io>
    81d93155