gdb: Check for not allocated/associated values during array slicing
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 23 May 2019 18:49:41 +0000 (19:49 +0100)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Mon, 10 Jun 2019 22:05:58 +0000 (23:05 +0100)
commita7067863418451b27130bb4300ac1890ff806c12
tree6df484c1278ac2e041d584b6a411d629b3e9abab
parent9ab084121f50a6858b7298de6c5326cee3687c43
gdb: Check for not allocated/associated values during array slicing

When extracting an array slice we should give up if the array is
not-allocated or not-associated.  For Fortran, at least in gfortran
compiled code, the upper and lower bounds are undefined if the array
is not allocated or not associated, in which case performing checks
against these bounds will result in undefined behaviour.

Better then to throw an error if we try to slice such an array.  This
changes the error message that the user will receive in these
cases (if they got an error message before).  Previously they may have
gotten "slice out of range" now they'll get "array not allocated" or
"array not associated".

gdb/ChangeLog:

* valops.c (value_slice): Check for not allocated or not
associated values.

gdb/testsuite/ChangeLog:

* gdb.fortran/vla-sizeof.exp: Update expected results.
gdb/ChangeLog
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.fortran/vla-sizeof.exp
gdb/valops.c