* values.c (unpack_double): Call floatformat_is_valid.
authorDaniel Jacobowitz <drow@false.org>
Mon, 15 Sep 2003 20:15:19 +0000 (20:15 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 15 Sep 2003 20:15:19 +0000 (20:15 +0000)
gdb/ChangeLog
gdb/values.c

index 806cc60dfdd30169d93523b6661656c60f12e410..c1f776d54d1f2d3368a05b9c0401c48a3609e3c2 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-15  Daniel Jacobowitz  <drow@mvista.com>
+
+       * values.c (unpack_double): Call floatformat_is_valid.
+
 2003-09-15  Mark Kettenis  <kettenis@gnu.org>
 
        * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Change type of
index 7b6ce6fc210f46ff81487a48138b1e408aa9bd65..652a7a93a525275b601ab41bd853cf946d019fb5 100644 (file)
@@ -739,7 +739,14 @@ unpack_double (struct type *type, const char *valaddr, int *invp)
         also not defined either.  Oops!
 
          Hopefully someone will add both the missing floatformat
-         definitions and floatformat_is_invalid() function.  */
+         definitions and the new cases for floatformat_is_valid ().  */
+
+      if (!floatformat_is_valid (floatformat_from_type (type), valaddr))
+       {
+         *invp = 1;
+         return 0.0;
+       }
+
       return extract_typed_floating (valaddr, type);
     }
   else if (nosign)