X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fdfp.h;h=af52fa2a3bcb63c53938fa2ca661bc4818674e3a;hb=b07e9c466ed24af614090ac42d6730a291608f69;hp=c8969035ac50383494ee1652f78ff389dfdc5da7;hpb=ba759613c3627dc399eae13a23a65dbc4adf3778;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/dfp.h b/gdb/dfp.h index c8969035ac..af52fa2a3b 100644 --- a/gdb/dfp.h +++ b/gdb/dfp.h @@ -1,6 +1,6 @@ /* Decimal floating point support for GDB. - Copyright 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GDB. @@ -25,20 +25,26 @@ #ifndef DFP_H #define DFP_H -/* When using decimal128, this is the maximum string length + 1 - * (value comes from libdecnumber's DECIMAL128_String constant). */ -#define MAX_DECIMAL_STRING 43 - -extern void decimal_to_string (const gdb_byte *, int, char *); -extern int decimal_from_string (gdb_byte *, int, const char *); -extern void decimal_from_integral (struct value *from, gdb_byte *to, int len); -extern void decimal_from_floating (struct value *from, gdb_byte *to, int len); -extern DOUBLEST decimal_to_doublest (const gdb_byte *from, int len); -extern void decimal_binop (enum exp_opcode, const gdb_byte *, int, - const gdb_byte *, int, gdb_byte *, int *); -extern int decimal_is_zero (const gdb_byte *x, int len); -extern int decimal_compare (const gdb_byte *x, int len_x, const gdb_byte *y, int len_y); -extern void decimal_convert (const gdb_byte *from, int len_from, gdb_byte *to, - int len_to); +#include "expression.h" /* For enum exp_opcode. */ + +extern std::string decimal_to_string (const gdb_byte *, int, enum bfd_endian, + const char *format = nullptr); +extern bool decimal_from_string (gdb_byte *, int, enum bfd_endian, + const std::string &string); +extern void decimal_from_longest (LONGEST from, gdb_byte *to, + int len, enum bfd_endian byte_order); +extern void decimal_from_ulongest (ULONGEST from, gdb_byte *to, + int len, enum bfd_endian byte_order); +extern LONGEST decimal_to_longest (const gdb_byte *from, int len, + enum bfd_endian byte_order); +extern void decimal_binop (enum exp_opcode, + const gdb_byte *, int, enum bfd_endian, + const gdb_byte *, int, enum bfd_endian, + gdb_byte *, int, enum bfd_endian); +extern int decimal_is_zero (const gdb_byte *, int, enum bfd_endian); +extern int decimal_compare (const gdb_byte *, int, enum bfd_endian, + const gdb_byte *, int, enum bfd_endian); +extern void decimal_convert (const gdb_byte *, int, enum bfd_endian, + gdb_byte *, int, enum bfd_endian); #endif