+2019-10-31 Tom de Vries <tdevries@suse.de>
+
+ * gdb.ada/array_bounds.exp: Drop superfluous 3rd argument to gdb_test.
+ * gdb.ada/array_subscript_addr.exp: Same.
+ * gdb.ada/arrayidx.exp: Same.
+ * gdb.ada/arrayparam.exp: Same.
+ * gdb.ada/arrayptr.exp: Same.
+ * gdb.ada/boolean_expr.exp: Same.
+ * gdb.ada/call_pn.exp: Same.
+ * gdb.ada/complete.exp: Same.
+ * gdb.ada/fixed_cmp.exp: Same.
+ * gdb.ada/fun_addr.exp: Same.
+ * gdb.ada/funcall_param.exp: Same.
+ * gdb.ada/interface.exp: Same.
+ * gdb.ada/mod_from_name.exp: Same.
+ * gdb.ada/null_array.exp: Same.
+ * gdb.ada/packed_array.exp: Same.
+ * gdb.ada/packed_tagged.exp: Same.
+ * gdb.ada/print_chars.exp: Same.
+ * gdb.ada/print_pc.exp: Same.
+ * gdb.ada/ptype_arith_binop.exp: Same.
+ * gdb.ada/ptype_field.exp: Same.
+ * gdb.ada/ptype_tagged_param.exp: Same.
+ * gdb.ada/rec_return.exp: Same.
+ * gdb.ada/ref_tick_size.exp: Same.
+ * gdb.ada/str_ref_cmp.exp: Same.
+ * gdb.ada/taft_type.exp: Same.
+ * gdb.ada/tagged.exp: Same.
+ * gdb.ada/type_coercion.exp: Same.
+ * gdb.ada/uninitialized_vars.exp: Same.
+
2019-10-30 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (gdb_test_multiple): Handle -early pattern flag.
}
gdb_test "print itable'first" \
- "= 2" \
- "print itable'first"
+ "= 2"
gdb_test "print itable'last" \
- "= 5" \
- "print itable'last"
+ "= 5"
gdb_test "print table'first" \
- "= zero" \
- "print table'first"
+ "= zero"
gdb_test "print table'last" \
- "= two" \
- "print table'last"
-
+ "= two"
# Verify that we can compare a string slice with another string.
gdb_test "print a(2)'Address" \
- "= \\(system\\.address\\) 0x\[0-9a-fA-F\]+" \
- "print a(2)'Address"
-
+ "= \\(system\\.address\\) 0x\[0-9a-fA-F\]+"
setup_xfail "*-*-*"
}
gdb_test "print one_two_three" \
- "= \\(1 => 1, 2 => 2, 3 => 3\\)" \
- "print one_two_three"
+ "= \\(1 => 1, 2 => 2, 3 => 3\\)"
gdb_test "print e_one_two_three" \
- "= \\(one => 1, two => 2, three => 3\\)" \
- "print e_one_two_three"
+ "= \\(one => 1, two => 2, three => 3\\)"
gdb_test "print r_two_three" \
- "= \\(two => 2, three => 3\\)" \
- "print r_two_three"
+ "= \\(two => 2, three => 3\\)"
gdb_test "print u_one_two_three" \
- "= \\(1 => 1, 2 => 2, 3 => 3\\)" \
- "print u_one_two_three"
+ "= \\(1 => 1, 2 => 2, 3 => 3\\)"
gdb_test "print p_one_two_three" \
- "= \\(one => false, two => true, three => true\\)" \
- "print p_one_two_three"
+ "= \\(one => false, two => true, three => true\\)"
if $old_gcc {
setup_xfail "*-*-*"
}
gdb_test "print few_reps" \
- "= \\(1 => 1, 2 => 2, 3 => 3, 4 => 3, 5 => 3, 6 => 3, 7 => 3, 8 => 4, 9 => 5\\)" \
- "print few_reps"
+ "= \\(1 => 1, 2 => 2, 3 => 3, 4 => 3, 5 => 3, 6 => 3, 7 => 3, 8 => 4, 9 => 5\\)"
if $old_gcc {
setup_xfail "*-*-*"
}
gdb_test "print many_reps" \
- "= \\(1 => 1, 2 => 2, 3 => 3 <repeats 12 times>, 15 => 4, 16 => 5\\)" \
- "print many_reps"
+ "= \\(1 => 1, 2 => 2, 3 => 3 <repeats 12 times>, 15 => 4, 16 => 5\\)"
if $old_gcc {
setup_xfail "*-*-*"
}
gdb_test "print empty" \
- "= \\(\\)" \
- "print empty"
-
-
+ "= \\(\\)"
# works without problem.
gdb_test "print call_me (\"bonjour\")" \
- "= void" \
- "print call_me (\"bonjour\")"
+ "= void"
# Verify that the array was passed properly by checking the global
# variables that Call_Me sets as side-effects. Use the package name to avoid
}
gdb_test "print string_p" \
- "= \\(foo\\.string_access\\) 0x\[0-9a-zA-Z\]+" \
- "print string_p"
+ "= \\(foo\\.string_access\\) 0x\[0-9a-zA-Z\]+"
gdb_test "print string_p (3..4)" "= \"ll\""
"changing the language to ada"
gdb_test "print 1 = 2" \
- "= false" \
- "print 1 = 2"
+ "= false"
gdb_test "print 3 = 3" \
- "= true" \
- "print 3 = 3"
-
+ "= true"
# Now, call procedure Pn, which should set Last_Node_Id to the value
# of the parameter used in the function call. Verify that we can print
# the returned value correctly, while we're at it.
-gdb_test "print pn (4321)" "= 4321" "print pn (4321)"
+gdb_test "print pn (4321)" "= 4321"
# Make sure that last_node_id now has the correct value...
gdb_test "print last_node_id" "= 4321" "print last_node_id after calling pn"
proc test_gdb_complete { expr expected_output } {
gdb_test "complete p $expr" \
- "$expected_output" \
- "complete p $expr"
+ "$expected_output"
}
# A convenience function that verifies that the "complete EXPR" command
runto "fixed.adb:$bp_location"
gdb_test "print My_Var > 10.0" \
- "= true" \
- "print My_Var > 10.0"
+ "= true"
gdb_test "print My_Var > 20.0" \
- "= false" \
- "print My_Var > 20.0"
+ "= false"
# Do the same, but with integer values.
gdb_test "print My_Var > 10" \
- "= true" \
- "print My_Var > 10"
+ "= true"
gdb_test "print My_Var > 20" \
- "= false" \
- "print My_Var > 20"
-
+ "= false"
# the inferior is *not* running (no frame).
gdb_test "print foo'address" \
- "= .* 0x\[0-9a-zA-Z\]+ <foo>" \
- "print foo'address"
-
-
+ "= .* 0x\[0-9a-zA-Z\]+ <foo>"
# class-wide.
gdb_test "p ident (ident (my_parameter))" \
- "= \\(one => 1, two => 2, three => 3\\)" \
- "p ident (ident (my_parameter))"
-
+ "= \\(one => 1, two => 2, three => 3\\)"
runto "foo.adb:$bp_location"
gdb_test "print r" \
- "= \\(x => 1, y => 2, w => 3, h => 4\\)" \
- "print r"
+ "= \\(x => 1, y => 2, w => 3, h => 4\\)"
gdb_test "print s" \
- "= \\(x => 1, y => 2, w => 3, h => 4\\)" \
- "print s"
-
-
+ "= \\(x => 1, y => 2, w => 3, h => 4\\)"
}
gdb_test "print xp" \
- "= \\(y => \\(-1, -2, -3, -4, -5, -6, -7, -8, -9, -10\\)\\)" \
- "print xp"
-
-
+ "= \\(y => \\(-1, -2, -3, -4, -5, -6, -7, -8, -9, -10\\)\\)"
setup_xfail *-*-*
}
gdb_test "print my_table" \
- "= \\(\\)" \
- "print my_table"
+ "= \\(\\)"
gdb_test "ptype my_table" \
- "type = array \\(10 \\.\\. 1\\) of integer" \
- "ptype my_table"
+ "type = array \\(10 \\.\\. 1\\) of integer"
gdb_test "print my_matrix" \
- "= \\(m => \\((\"\", ){9}\"\"\\)\\)" \
- "print my_matrix"
+ "= \\(m => \\((\"\", ){9}\"\"\\)\\)"
runto "pa.adb:$bp_location"
gdb_test "print var" \
- "= \\(4 => true, false, true, false, true\\)" \
- "print var"
+ "= \\(4 => true, false, true, false, true\\)"
# Try printing the value and the type definition of a reference
# to variable "Var".
gdb_test "ptype &var" \
- "type = access array \\(4 \\.\\. 8\\) of boolean <packed: 1-bit elements>" \
- "ptype &var"
+ "type = access array \\(4 \\.\\. 8\\) of boolean <packed: 1-bit elements>"
gdb_test "print &var" \
- "= \\(access pa.packed_array\\) 0x.*" \
- "print &var"
+ "= \\(access pa.packed_array\\) 0x.*"
# Print the value of U_Var, an unconstrainted packed array.
runto "comp_bug.adb:$bp_location"
gdb_test "print x" \
- "= \\(exists => true, value => 10\\)" \
- "print x"
+ "= \\(exists => true, value => 10\\)"
gdb_test "ptype x" \
[multi_line "type = record" \
" value: range 0 \\.\\. 255;" \
" when others => null;" \
" end case;" \
- "end record" ] \
- "ptype x"
-
+ "end record" ]
gdb_test "print C" \
- "= 97 'a'" \
- "print C"
+ "= 97 'a'"
gdb_test "print WC" \
- "= 98 'b'" \
- "print WC"
+ "= 98 'b'"
gdb_test "print WWC" \
- "= 99 'c'" \
- "print WWC"
+ "= 99 'c'"
gdb_test "print MC" " = 77 'M'"
runto "dummy.adb:$bp_location"
gdb_test "p /x \$pc" \
- "= 0x\[0-9a-zA-Z\]+" \
- "p /x \$pc"
+ "= 0x\[0-9a-zA-Z\]+"
"set lang ada"
gdb_test "ptype 3 * 2.0" \
- "= <\[0-9\]+-byte float>" \
- "ptype 3 * 2.0"
+ "= <\[0-9\]+-byte float>"
gdb_test "ptype 3 / 2.0" \
- "= <\[0-9\]+-byte float>" \
- "ptype 3 / 2.0"
-
-
+ "= <\[0-9\]+-byte float>"
[multi_line "type = record" \
" pos: pck\\.position;" \
" radius: integer;" \
- "end record" ] \
- "ptype circle"
+ "end record" ]
gdb_test "ptype circle.pos" \
[multi_line "type = record" \
" x: integer;" \
" y: integer;" \
- "end record" ] \
- "ptype circle.pos"
+ "end record" ]
gdb_test "ptype circle.pos.x" \
- "type = <\[0-9\]+-byte integer>" \
- "ptype circle.pos.x"
-
-
-
+ "type = <\[0-9\]+-byte integer>"
set sp "\[ \t\]*"
gdb_test "ptype s" \
- "type = <ref> new pck.shape with record${eol}${sp}r: integer;${eol}end record" \
- "ptype s"
-
+ "type = <ref> new pck.shape with record${eol}${sp}r: integer;${eol}end record"
}
gdb_test "print bar" \
- "= \\(x => 42, s => \"ABCDEFGH\"\\)" \
- "print bar"
-
+ "= \\(x => 42, s => \"ABCDEFGH\"\\)"
# the size of d1.
gdb_test "print d1'size = d2'size" \
- "= true" \
- "print d1'size = d2'size"
-
+ "= true"
# Verify that we can compare a string slice with another string.
gdb_test "print String_Var (1 .. 3) = \"Hel\"" \
- "= true" \
- "print String_Var (1 .. 3) = \"Hel\""
+ "= true"
gdb_test "print String_Var (1 .. 3) = \"hel\"" \
- "= false" \
- "print String_Var (1 .. 3) = \"hel\""
-
+ "= false"
}
gdb_test "print w.e.all" \
- "= \\(month => 8, year => 1974\\)" \
- "print w.e.all"
-
+ "= \\(month => 8, year => 1974\\)"
gdb_test "ptype segm" \
[multi_line "type = new pck\\.object with record" \
" width: integer;" \
- "end record" ] \
- "ptype segm"
+ "end record" ]
gdb_test "print segm" \
- "= \\(position => 74, width => 8\\)" \
- "print segm"
+ "= \\(position => 74, width => 8\\)"
# Now, test printing of an class-wide object.
gdb_test "ptype obj" \
[multi_line "type = new pck\\.object with record" \
" width: integer;" \
- "end record" ] \
- "ptype obj"
+ "end record" ]
gdb_test "print obj" \
- "= \\(position => 74, width => 8\\)" \
- "print obj"
-
-
+ "= \\(position => 74, width => 8\\)"
runto "assign.adb:$bp_location"
gdb_test "p q" \
- "= \\(2, 3, 5, 7, 11\\)" \
- "p q"
+ "= \\(2, 3, 5, 7, 11\\)"
gdb_test_no_output "set \$addr := q'address" \
"save q'address in convenience variable"
"set {Integer} \$addr := 19"
gdb_test "p q" \
- "= \\(19, 3, 5, 7, 11\\)" \
- "p q"
-
-
-
+ "= \\(19, 3, 5, 7, 11\\)"
# Check that printing uninitialized variables does not crash the debugger.
gdb_test "info locals" \
- ".*" \
- "info locals"
+ ".*"