binutils-gdb/gdb/python
Ulrich Weigand 14ad931172 Target FP: Handle interfaces to scripting languages
The last remaing use for DOUBLEST is in the code that interfaces to the
scripting languages (Python and Guile).  The problem here is that we
expose interfaces to convert a GDB value to and from native values of
floating-point type in those languages, and those by definition use
the host floating-point format.

While we cannot completely eliminate conversions to/from the host
floating-point format here, we still need to get rid of the uses
of value_as_double / value_from_double, since those will go away.

This patch implements two new target-float.c routine:
 - target_float_to_host_double
 - target_float_from_host_double
which convert to/from a host "double".  Those should only ever be
used where a host "double" is mandated by an external interface.

gdb/ChangeLog:
2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>

	* target-float.c (floatformat_to_host_double): New function.
	(floatformat_from_host_double): Likewise.
	(target_float_to_host_double): Likewise.
	(target_float_from_host_double): Likewise.
	* target-float.h (target_float_to_host_double): Add prototype.
	(target_float_from_host_double): Likewise.

	* guile/scm-value.c: Include "target-float.h".
	(gdbscm_value_to_real): Use target_float_to_host_double.
	Handle integer source values via value_as_long.
	* guile/scm-math.c: Include "target-float.h".  Do not include
	"doublest.h", "dfp.h", and "expression.h".
	(vlscm_convert_typed_number): Use target_float_from_host_double.
	(vlscm_convert_number): Likewise.

	* python/py-value.c (valpy_float): Use target_float_to_host_double.
	(convert_value_from_python): Use target_float_from_host_double.
2017-11-06 16:00:47 +01:00
..
lib/gdb
py-all-events.def Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-arch.c
py-auto-load.c
py-block.c
py-bpevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-breakpoint.c Constify some linespec functions 2017-09-27 08:44:45 -06:00
py-cmd.c Add add_cmd function overloads 2017-09-27 08:44:14 -06:00
py-continueevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-event-types.def Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-event.c Small event ownership clean up in Python layer 2017-09-11 14:15:21 -06:00
py-event.h Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-events.h Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-evtregistry.c
py-evts.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-exitedevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-finishbreakpoint.c
py-frame.c Remove cleanups from find_frame_funname 2017-09-11 16:15:11 -06:00
py-framefilter.c
py-function.c
py-gdb-readline.c
py-inferior.c Add `thread_from_thread_handle' method to (Python) gdb.Inferior 2017-09-21 11:20:51 -07:00
py-infevents.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-infthread.c Make gdb.selected_thread().inferior return a new reference 2017-10-28 14:19:08 -04:00
py-instruction.c
py-instruction.h
py-lazy-string.c
py-linetable.c
py-newobjfileevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-objfile.c
py-param.c Use gdb_argv in Python 2017-08-03 07:59:09 -06:00
py-prettyprint.c
py-progspace.c
py-record-btrace.c btrace: Store btrace_insn in an std::vector 2017-09-04 10:46:36 +02:00
py-record-btrace.h
py-record-full.c
py-record-full.h
py-record.c
py-record.h
py-ref.h
py-signalevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-stopevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-stopevent.h Small event ownership clean up in Python layer 2017-09-11 14:15:21 -06:00
py-symbol.c
py-symtab.c
py-threadevent.c Make it simpler to add events to Python 2017-09-11 14:15:22 -06:00
py-type.c Make cp_comp_to_string return a gdb::unique_xmalloc_ptr<char> 2017-08-09 15:04:32 +01:00
py-unwind.c Fix Python unwinder frames regression 2017-07-06 00:19:24 +01:00
py-utils.c
py-value.c Target FP: Handle interfaces to scripting languages 2017-11-06 16:00:47 +01:00
py-varobj.c Avoid some manual memory management in Python 2017-08-03 07:59:07 -06:00
py-xmethods.c
python-config.py
python-internal.h Add `thread_from_thread_handle' method to (Python) gdb.Inferior 2017-09-21 11:20:51 -07:00
python.c Constify add_prefix_cmd 2017-10-11 16:21:02 -06:00
python.h