/* Floating point definitions for GDB.
- Copyright (C) 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2001, 2003, 2005, 2006, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 Free Software Foundation, Inc.
This file is part of GDB.
#if (defined HAVE_LONG_DOUBLE && defined PRINTF_HAS_LONG_DOUBLE \
&& defined SCANF_HAS_LONG_DOUBLE)
typedef long double DOUBLEST;
-# define DOUBLEST_PRINT_FORMAT "%Lg"
-# define DOUBLEST_SCAN_FORMAT "%Lg"
+# define DOUBLEST_PRINT_FORMAT "Lg"
+# define DOUBLEST_SCAN_FORMAT "Lg"
#else
typedef double DOUBLEST;
-# define DOUBLEST_PRINT_FORMAT "%g"
-# define DOUBLEST_SCAN_FORMAT "%lg"
+# define DOUBLEST_PRINT_FORMAT "g"
+# define DOUBLEST_SCAN_FORMAT "lg"
/* If we can't scan or print long double, we don't want to use it
anywhere. */
# undef HAVE_LONG_DOUBLE
extern const char *floatformat_mantissa (const struct floatformat *,
const bfd_byte *);
-/* These functions have been replaced by extract_typed_floating and
- store_typed_floating.
-
- Most calls are passing in TYPE_LENGTH (TYPE) so can be changed to
- just pass the TYPE. The remainder pass in the length of a
- register, those calls should instead pass in the floating point
- type that corresponds to that length. */
-
-extern DOUBLEST deprecated_extract_floating (const void *addr, int len);
-extern void deprecated_store_floating (void *addr, int len, DOUBLEST val);
-
/* Given TYPE, return its floatformat. TYPE_FLOATFORMAT() may return
NULL. type_floatformat() detects that and returns a floatformat
based on the type size when FLOATFORMAT is NULL. */
const struct floatformat *floatformat_from_type (const struct type *type);
+/* Return the floatformat's total size in host bytes. */
+
+extern size_t floatformat_totalsize_bytes (const struct floatformat *fmt);
+
extern DOUBLEST extract_typed_floating (const void *addr,
const struct type *type);
extern void store_typed_floating (void *addr, const struct type *type,