diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/python/py-type.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-type.exp | 6 |
4 files changed, 17 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b3e1263..a6211bf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2015-01-06 Joel Brobecker <brobecker@adacore.com> + + * python/py-type.c (typy_array_1): Do not raise negative-length + exception if N2 is equal to N1 - 1. + 2015-01-03 Doug Evans <xdje42@gmail.com> * c-exp.y: Whitespace cleanup. diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c index 54fc30f..8e82c99 100644 --- a/gdb/python/py-type.c +++ b/gdb/python/py-type.c @@ -528,7 +528,7 @@ typy_array_1 (PyObject *self, PyObject *args, int is_vector) n1 = 0; } - if (n2 < n1) + if (n2 < n1 - 1) { PyErr_SetString (PyExc_ValueError, _("Array length must not be negative")); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 374c285..7db0809 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-01-06 Joel Brobecker <brobecker@adacore.com> + + * gdb.python/py-type.exp: Add a couple test about empty + array creation, and negative-length array creation. + 2015-01-02 Doug Evans <xdje42@gmail.com> * gdb.cp/nsalias.exp: Fix output of external/declaration flags. diff --git a/gdb/testsuite/gdb.python/py-type.exp b/gdb/testsuite/gdb.python/py-type.exp index 90de68d..c4c8d9f 100644 --- a/gdb/testsuite/gdb.python/py-type.exp +++ b/gdb/testsuite/gdb.python/py-type.exp @@ -247,6 +247,12 @@ restart_gdb "${binfile}" # Skip all tests if Python scripting is not enabled. if { [skip_python_tests] } { continue } +gdb_test "python print gdb.lookup_type('char').array(1, 0)" \ + "char \\\[0\\\]" + +gdb_test "python print gdb.lookup_type('char').array(1, -1)" \ + "Array length must not be negative.*" + with_test_prefix "lang_c" { runto_bp "break to inspect struct and array." test_fields "c" |