diff options
author | Joel Brobecker <brobecker@adacore.com> | 2020-11-15 03:17:12 -0500 |
---|---|---|
committer | Joel Brobecker <brobecker@adacore.com> | 2020-11-15 03:17:12 -0500 |
commit | 0a12719e51c456a5220f75950ebf9c07457c753b (patch) | |
tree | 0774c19e0d70680f30b9453efdd28b2cc3614c31 /gdb/eval.c | |
parent | 0c9150e4de689066b6d7faf326535f573bd29f07 (diff) | |
download | gdb-0a12719e51c456a5220f75950ebf9c07457c753b.zip gdb-0a12719e51c456a5220f75950ebf9c07457c753b.tar.gz gdb-0a12719e51c456a5220f75950ebf9c07457c753b.tar.bz2 |
Add support for fixed-point type arithmetic
This patch adds support for binary operations on fixed-point values,
as well as for the negative unary operator.
gdb/ChangeLog:
* eval.c (binop_promote): Add fixed-point type handling.
* valarith.c (fixed_point_binop): New function.
(scalar_binop): Add fixed-point type handling.
(value_neg): Add fixed-point type handling.
* valops.c (value_cast_to_fixed_point): New function.
(value_cast): Add fixed-point type handling.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-fixed-point.exp: Add arithmetic tests.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r-- | gdb/eval.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -430,6 +430,9 @@ binop_promote (const struct language_defn *language, struct gdbarch *gdbarch, && !is_integral_type (type2))) return; + if (is_fixed_point_type (type1) || is_fixed_point_type (type2)) + return; + if (type1->code () == TYPE_CODE_DECFLOAT || type2->code () == TYPE_CODE_DECFLOAT) { |