aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.c
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2019-03-07 14:53:37 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2019-03-07 14:53:37 +0000
commit7584bb30cf380cff9cc3914b1b523c5a1a5b4302 (patch)
tree6a6bf77b40345eadf32c168a602575d5ab347fcd /gdb/value.c
parent2c5ebf12393443eec1d666f613cbc70a6b72f49a (diff)
downloadgdb-7584bb30cf380cff9cc3914b1b523c5a1a5b4302.zip
gdb-7584bb30cf380cff9cc3914b1b523c5a1a5b4302.tar.gz
gdb-7584bb30cf380cff9cc3914b1b523c5a1a5b4302.tar.bz2
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.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/value.c b/gdb/value.c
index 50e47a9..dc297df 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