Add TYPE_CODE_FIXED_POINT handling in print_type_scalar
This commit enhances print_type_scalar to include support for
TYPE_CODE_FIXED_POINT. This way, any language falling back to
this function for printing the description of some types
also gets basic ptype support for fixed point types as well.
This fixes a couple of XFAILs in gdb.dwarf2/dw2-fixed-point.exp.
gdb/ChangeLog:
* typeprint.c (print_type_scalar): Add handling of
TYPE_CODE_FIXED_POINT.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-fixed-point.exp: Fix the expected output of
the "ptype pck__fp1_range_var" test for the module-2 and pascal
languages. Remove the associated setup_xfail.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2020-11-24 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* typeprint.c (print_type_scalar): Add handling of
|
||||
TYPE_CODE_FIXED_POINT.
|
||||
|
||||
2020-11-24 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* valarith.c (fixed_point_binop): Replace the
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
2020-11-24 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* gdb.dwarf2/dw2-fixed-point.exp: Fix the expected output of
|
||||
the "ptype pck__fp1_range_var" test for the module-2 and pascal
|
||||
languages. Remove the associated setup_xfail.
|
||||
|
||||
2020-11-23 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* lib/gdb.exp (gdb_assert): Show error message on error.
|
||||
|
||||
@@ -278,9 +278,6 @@ proc do_ptype_test {lang fp1_re fp2_re fp3_re fp1_range_re} {
|
||||
|
||||
gdb_test "ptype pck__fp3_var" $fp3_re
|
||||
|
||||
if { $lang == "modula-2" || $lang == "pascal" } {
|
||||
setup_xfail "*-*-*" "not supported by language"
|
||||
}
|
||||
gdb_test "ptype pck__fp1_range_var" $fp1_range_re
|
||||
}
|
||||
}
|
||||
@@ -299,10 +296,21 @@ foreach lang [list "c" "d" "go" "objective-c" "opencl" ] {
|
||||
" = <range type>"
|
||||
}
|
||||
|
||||
foreach lang [list "fortran" "modula-2" "pascal" ] {
|
||||
do_ptype_test $lang \
|
||||
" = pck__fp1_type" \
|
||||
" = pck__fp2_type" \
|
||||
" = pck__fp3_type" \
|
||||
" = <range type>"
|
||||
}
|
||||
do_ptype_test "fortran" \
|
||||
" = pck__fp1_type" \
|
||||
" = pck__fp2_type" \
|
||||
" = pck__fp3_type" \
|
||||
" = <range type>"
|
||||
|
||||
do_ptype_test "modula-2" \
|
||||
" = pck__fp1_type" \
|
||||
" = pck__fp2_type" \
|
||||
" = pck__fp3_type" \
|
||||
" = \\\[1-byte fixed point \\(small = 1/16\\)\\.\\.1-byte fixed point \\(small = 1/16\\)\\\]"
|
||||
|
||||
do_ptype_test "pascal" \
|
||||
" = pck__fp1_type" \
|
||||
" = pck__fp2_type" \
|
||||
" = pck__fp3_type" \
|
||||
" = 1-byte fixed point \\(small = 1/16\\)\\.\\.1-byte fixed point \\(small = 1/16\\)"
|
||||
|
||||
|
||||
@@ -637,6 +637,10 @@ print_type_scalar (struct type *type, LONGEST val, struct ui_file *stream)
|
||||
print_type_scalar (TYPE_TARGET_TYPE (type), val, stream);
|
||||
return;
|
||||
|
||||
case TYPE_CODE_FIXED_POINT:
|
||||
print_type_fixed_point (type, stream);
|
||||
break;
|
||||
|
||||
case TYPE_CODE_UNDEF:
|
||||
case TYPE_CODE_PTR:
|
||||
case TYPE_CODE_ARRAY:
|
||||
|
||||
Reference in New Issue
Block a user