8sa1-binutils-gdb/gdb/testsuite/gdb.modula2
Gaius Mulley 3945d2d77e gdb/modula-2: parsing of multi-subscript arrays
Fix bug PR m2/26372, GDB's inability to parse multi-dimensional
modula-2 arrays.

We previously had two rules for handling the parsing of array
sub-scripts.  I have reproduced them here with the actual handler
blocks removed to make the bug clearer:

  exp     :    exp '[' non_empty_arglist ']'
          ;

  exp     :    exp '[' exp ']'
          ;

  non_empty_arglist
          :       exp
          ;

  non_empty_arglist
          :       non_empty_arglist ',' exp
          ;

This is ambiguous as the pattern "exp '[' exp" could match either of
the 'exp' rules.  Currently it just so happens that the parser picks
the second 'exp' rule which means we can only handle a single array
index.

As the handler code for the first 'exp' pattern will correctly handle
and number of array indexes then lets just remove the second pattern.

gdb/ChangeLog:

	PR m2/26372
        * m2-exp.y (exp): Improve comment for non_empty_arglist case, add
	an assert.  Remove single element array indexing pattern as the
	MULTI_SUBSCRIPT support will handle this case too.

gdb/testsuite/ChangeLog:

	PR m2/26372
        * gdb.modula2/multidim.c: New file.
        * gdb.modula2/multidim.exp: New file.
2020-08-25 10:28:06 +01:00
..
max-depth.c
max-depth.exp
multidim.c gdb/modula-2: parsing of multi-subscript arrays 2020-08-25 10:28:06 +01:00
multidim.exp gdb/modula-2: parsing of multi-subscript arrays 2020-08-25 10:28:06 +01:00
unbounded1.c
unbounded-array.exp