e3861a0 (Ada) Remove printing of array's first index when unneeded

5 files Authored by Xavier Roirand 6 years ago, Committed by Joel Brobecker 6 years ago,
    (Ada) Remove printing of array's first index when unneeded
    
    Consider the following code:
    
      type Table is array (Character) of Natural;
      My_Table : Table := (others => 4874);
    
    Printing this table in gdb leads to:
    
      (gdb) p my_table
      $1 = ('["00"]' => 4874 <repeats 256 times>)
    
    In this case, the index of the first element in this array is also
    the first element of the index type (character type). Similar to what
    we do we enumeration types, we do not need to print the index of the
    first element when printing the array.
    
    This patch fixes this issue and changes the output as follow:
    
      (gdb) p my_table
      $1 = (4874 <repeats 256 times>)
    
    gdb/ChangeLog:
    
            * ada-valprint.c (print_optional_low_bound): Handle
            character-indexed array printing like boolean-indexed array
            printing.
    
    gdb/testuite/ChangeLog:
    
            * testsuite/gdb.ada/array_char_idx/pck.ads (Table): New type.
            (My_Table): New global variable.
            * testsuite/gdb.ada/array_char_idx.exp: Add test.
    
    Tested on x86_64-linux.
    
        
file modified
+6 -0
file modified
+2 -0
file modified
+6 -0