* gdb.cp/formatted-ref.exp: Add equality test.
authorJerome Guitton <guitton@adacore.com>
Thu, 27 Nov 2008 09:52:55 +0000 (09:52 +0000)
committerJerome Guitton <guitton@adacore.com>
Thu, 27 Nov 2008 09:52:55 +0000 (09:52 +0000)
        * gdb.ada/formatted_ref.exp: Ditto.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.ada/formatted_ref.exp
gdb/testsuite/gdb.cp/formatted-ref.exp

index 85e6a3bb250729c2225b1febc4365a18a2c4ca3f..ba11df1946c68e4689b972ba0f85edba2219bf68 100644 (file)
@@ -1,3 +1,8 @@
+2008-11-27  Jerome Guitton  <guitton@adacore.com>
+
+       * gdb.cp/formatted-ref.exp: Add equality test.
+       * gdb.ada/formatted_ref.exp: Ditto.
+
 2008-11-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * gdb.base/breakpoint-shadow.exp, gdb.base/breakpoint-shadow.c: New.
index 4029aeb8b3c239bbe09e5f61cbb82350e405de7b..206ed96c3679b85c8432ecca4811e56bf9a9dac5 100644 (file)
@@ -20,6 +20,9 @@
 # tests because only a few parameter types in Ada are required to be 
 # passed by reference, and there is no equivalent of &(&x) for reference
 # values.
+# This also tests that some other arithmetic operations on references
+# work properly: condition expression using a reference object as one of its
+# operand.
 
 if $tracelevel then {
        strace $tracelevel
@@ -88,6 +91,11 @@ proc test_p_x_addr { var addr } {
     return 0
 }
 
+proc test_p_op1_equals_op2 {op1 op2} {
+    set test "print $op1 = $op2"
+    gdb_test $test "\\$\[0-9\]+ = true"
+}
+
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
@@ -100,3 +108,5 @@ set s1_address  [get_address "s1"]
 test_p_x "s" "(x => 0xd, y => 0x13)" $s1_address
 
 test_p_x_addr "s" $s1_address
+
+test_p_op1_equals_op2 "s.x" "13"
index f9c8ad3f84159436ddef851c79f2301a94ac616f..391dfebf8994069025ee322082240f0cdb3f2d9f 100644 (file)
@@ -23,6 +23,9 @@
 # rather than printing both that and the dereferenced value.  We also
 # check that the (non-standard) expression &(&x), where x is of type T&,
 # yields an appropriate value.
+# This also tests that some other arithmetic operations on references
+# work properly: condition expression using a reference object as one of its
+# operand.
 
 if $tracelevel then {
        strace $tracelevel
@@ -106,6 +109,11 @@ proc test_p_x_ref_addr { var addr } {
     return 0
 }
 
+proc test_p_op1_equals_op2 {op1 op2} {
+    set test "print $op1 == $op2"
+    gdb_test $test "\\$\[0-9\]+ = true"
+}
+
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
@@ -128,3 +136,5 @@ test_p_x_addr "i" $i1_address
 test_p_x_ref_addr "s" $s1_address
 test_p_x_ref_addr "i" $i1_address
 test_p_x_ref_addr "e" $e1_address
+
+test_p_op1_equals_op2 "s.x" "13"