gdb/guile: Do not error when trying to create empty array.

This fixes a similar error as in the Python support code where
trying to create an empty array.

In guile/scm-type.c::tyscm_array_1, the funtion raises an exception
if N2 < N1:

   if (n2 < n1)
     {
       gdbscm_out_of_range_error (func_name, SCM_ARG3,

But it should be doing so if N2 == N1 - 1, since that would simply
be an empty array, not an array with a negative length.

gdb/ChangeLog:

        * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
        error if N2 is equal to N1 - 1.
This commit is contained in:
Joel Brobecker 2015-01-06 18:37:53 +04:00
parent 8503d6e1e5
commit fce10a8494
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-01-06 Joel Brobecker <brobecker@adacore.com>
* guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
error if N2 is equal to N1 - 1.
2015-01-06 Joel Brobecker <brobecker@adacore.com> 2015-01-06 Joel Brobecker <brobecker@adacore.com>
* python/py-type.c (typy_array_1): Do not raise negative-length * python/py-type.c (typy_array_1): Do not raise negative-length

View File

@ -713,7 +713,7 @@ tyscm_array_1 (SCM self, SCM n1_scm, SCM n2_scm, int is_vector,
n1 = 0; n1 = 0;
} }
if (n2 < n1) if (n2 < n1 - 1)
{ {
gdbscm_out_of_range_error (func_name, SCM_ARG3, gdbscm_out_of_range_error (func_name, SCM_ARG3,
scm_cons (scm_from_long (n1), scm_cons (scm_from_long (n1),