diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-03-07 14:53:37 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-03-07 14:53:37 +0000 |
commit | 7584bb30cf380cff9cc3914b1b523c5a1a5b4302 (patch) | |
tree | 6a6bf77b40345eadf32c168a602575d5ab347fcd /gdb/value.c | |
parent | 2c5ebf12393443eec1d666f613cbc70a6b72f49a (diff) | |
download | binutils-gdb-7584bb30cf380cff9cc3914b1b523c5a1a5b4302.tar.gz |
gdb: Move value_from_host_double into value.c and make more use of it
The function value_from_host_double can be moved from f-lang.c into
value.c as a generally useful function, and then used more widely.
Tested on X86-64/GNU Linux with no regressions.
gdb/ChangeLog:
* f-lang.c (value_from_host_double): Moved to...
* value.c (value_from_host_double): ...here.
* value.h (value_from_host_double): Declare.
* guile/scm-math.c (vlscm_convert_typed_number): Use
value_from_host_double.
(vlscm_convert_number): Likewise.
* guile/scm-value.c (gdbscm_value_to_real): Likewise.
* python/py-value.c (convert_value_from_python): Likewise.
Diffstat (limited to 'gdb/value.c')
-rw-r--r-- | gdb/value.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/value.c b/gdb/value.c index 50e47a936aa..dc297dfe0f9 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -3430,6 +3430,19 @@ value_from_pointer (struct type *type, CORE_ADDR addr) return val; } +/* Create and return a value object of TYPE containing the value D. The + TYPE must be of TYPE_CODE_FLT, and must be large enough to hold D once + it is converted to target format. */ + +struct value * +value_from_host_double (struct type *type, double d) +{ + struct value *value = allocate_value (type); + gdb_assert (TYPE_CODE (type) == TYPE_CODE_FLT); + target_float_from_host_double (value_contents_raw (value), + value_type (value), d); + return value; +} /* Create a value of type TYPE whose contents come from VALADDR, if it is non-null, and whose memory address (in the inferior) is |