* ada-lang.c (ada_value_equal): Dereference reference types when

comparing arrays.
This commit is contained in:
Joel Brobecker 2008-01-02 11:18:03 +00:00
parent 3fe15143a8
commit f58b38bf6a
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2008-01-02 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (ada_value_equal): Dereference reference types when
comparing arrays.
2008-01-01 Daniel Jacobowitz <dan@codesourcery.com>
Updated copyright notices for most files.

View File

@ -7744,6 +7744,11 @@ ada_value_equal (struct value *arg1, struct value *arg2)
if (ada_is_direct_array_type (value_type (arg1))
|| ada_is_direct_array_type (value_type (arg2)))
{
/* Automatically dereference any array reference before
we attempt to perform the comparison. */
arg1 = ada_coerce_ref (arg1);
arg2 = ada_coerce_ref (arg2);
arg1 = ada_coerce_to_simple_array (arg1);
arg2 = ada_coerce_to_simple_array (arg2);
if (TYPE_CODE (value_type (arg1)) != TYPE_CODE_ARRAY