Skip to content
  • Joel Brobecker's avatar
    handle character-based enumeration typedefs · 18920c42
    Joel Brobecker authored
    Consider the following type:
    
       type Char_Enum_Type is ('A', 'B', 'C', 'D');
    
    If the compiler generates a Char_Enum_Type typedef in the debugging
    information, the debugger fails in the following case:
    
       (gdb) p Char_Enum_Type'('B')
       $1 = 66
    
    For our type, the underlying value of 'B' is actually 1, not 66
    (ASCII 'B').  We are failing this case because we were not handling
    typedef to enum types before.  This patch fixes this.
    
    gdb/ChangeLog:
    
            * ada-exp.y (convert_char_literal): Handle typedef types.
    
    gdb/testsuite/ChangeLog:
    
            * gdb.ada/char_enum: New testcase.
    18920c42