This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch/rfc] constafy floatformat


Hello,

The attached changes the "from" parameter to the various floatformat functions to a "const char *" / "const double *".

Baring comments I intend committing this one in a few hours.

To test the waters, I'm planning on following this up with a patch proposing that this file be switched to ISO C.

enjoy,
Andrew
Index: include/ChangeLog
2003-09-15  Andrew Cagney  <cagney@redhat.com>

	* floatformat.h (floatformat_to_double): Make input buffer constant.
	(floatformat_from_double, floatformat_is_valid): Ditto.
	
Index: libiberty/ChangeLog
2003-09-15  Andrew Cagney  <cagney@redhat.com>

	* floatformat.c (get_field): Make "data" constant.
	(floatformat_is_valid, floatformat_to_double): Make "from"
	constant, fix casts.
	(floatformat_from_double): Make "from" constant.

Index: include/floatformat.h
===================================================================
RCS file: /cvs/src/src/include/floatformat.h,v
retrieving revision 1.7
diff -u -r1.7 floatformat.h
--- include/floatformat.h	15 Sep 2003 21:28:56 -0000	1.7
+++ include/floatformat.h	15 Sep 2003 22:10:58 -0000
@@ -113,18 +113,18 @@
    Store the double in *TO.  */
 
 extern void
-floatformat_to_double PARAMS ((const struct floatformat *, char *, double *));
+floatformat_to_double PARAMS ((const struct floatformat *, const char *, double *));
 
 /* The converse: convert the double *FROM to FMT
    and store where TO points.  */
 
 extern void
 floatformat_from_double PARAMS ((const struct floatformat *,
-				 double *, char *));
+				 const double *, char *));
 
 /* Return non-zero iff the data at FROM is a valid number in format FMT.  */
 
 extern int
-floatformat_is_valid PARAMS ((const struct floatformat *fmt, char *from));
+floatformat_is_valid PARAMS ((const struct floatformat *fmt, const char *from));
 
 #endif	/* defined (FLOATFORMAT_H) */
Index: libiberty/floatformat.c
===================================================================
RCS file: /cvs/src/src/libiberty/floatformat.c,v
retrieving revision 1.8
diff -u -r1.8 floatformat.c
--- libiberty/floatformat.c	15 Sep 2003 20:14:39 -0000	1.8
+++ libiberty/floatformat.c	15 Sep 2003 22:11:00 -0000
@@ -143,7 +143,7 @@
   "floatformat_ia64_quad_little"
 };
 
-static unsigned long get_field PARAMS ((unsigned char *,
+static unsigned long get_field PARAMS ((const unsigned char *,
 					enum floatformat_byteorders,
 					unsigned int,
 					unsigned int,
@@ -153,7 +153,7 @@
    TOTAL_LEN are the thing we are extracting it from, in byteorder ORDER.  */
 static unsigned long
 get_field (data, order, total_len, start, len)
-     unsigned char *data;
+     const unsigned char *data;
      enum floatformat_byteorders order;
      unsigned int total_len;
      unsigned int start;
@@ -207,10 +207,10 @@
 void
 floatformat_to_double (fmt, from, to)
      const struct floatformat *fmt;
-     char *from;
+     const char *from;
      double *to;
 {
-  unsigned char *ufrom = (unsigned char *)from;
+  const unsigned char *ufrom = (const unsigned char *)from;
   double dto;
   long exponent;
   unsigned long mant;
@@ -331,7 +331,7 @@
 void
 floatformat_from_double (fmt, from, to)
      const struct floatformat *fmt;
-     double *from;
+     const double *from;
      char *to;
 {
   double dfrom;
@@ -409,7 +409,7 @@
 int
 floatformat_is_valid (fmt, from)
      const struct floatformat *fmt;
-     char *from;
+     const char *from;
 {
   if (fmt == &floatformat_i387_ext)
     {
@@ -419,7 +419,7 @@
 	 if the exponent is zero can it be zero, and then it must
 	 be zero.  */
       unsigned long exponent, int_bit;
-      unsigned char *ufrom = (unsigned char *) from;
+      const unsigned char *ufrom = (const unsigned char *) from;
 
       exponent = get_field (ufrom, fmt->byteorder, fmt->totalsize,
 			    fmt->exp_start, fmt->exp_len);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]