diff options
author | Joel Brobecker <brobecker@adacore.com> | 2020-11-23 22:03:36 -0500 |
---|---|---|
committer | Joel Brobecker <brobecker@adacore.com> | 2020-11-23 22:03:36 -0500 |
commit | 4afa9fd9b043ea54b750c8bfe73fb5320c6fc683 (patch) | |
tree | dfb28da253ee78c5fa2b392fafd9b167c671e1be | |
parent | af619ce989a51864b1c2b8c2eef7c46ffe1ff256 (diff) | |
download | gdb-4afa9fd9b043ea54b750c8bfe73fb5320c6fc683.zip gdb-4afa9fd9b043ea54b750c8bfe73fb5320c6fc683.tar.gz gdb-4afa9fd9b043ea54b750c8bfe73fb5320c6fc683.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-fixed-point.exp | 28 | ||||
-rw-r--r-- | gdb/typeprint.c | 4 |
4 files changed, 33 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0146874..35940d5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 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 INIT_VAL_WITH_FIXED_POINT_VAL macro by a lambda. Update all users accordingly. diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d6358dd..fa1f0e8 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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. diff --git a/gdb/testsuite/gdb.dwarf2/dw2-fixed-point.exp b/gdb/testsuite/gdb.dwarf2/dw2-fixed-point.exp index a82a9af..67d1d34 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-fixed-point.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-fixed-point.exp @@ -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\\)" + diff --git a/gdb/typeprint.c b/gdb/typeprint.c index a3fc9cc..47019a2 100644 --- a/gdb/typeprint.c +++ b/gdb/typeprint.c @@ -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: |