Annotation of gdb/=news, revision 1.1

1.1     ! root        1: ===================================================================
        !             2: RCS file: RCS/printcmd.c,v
        !             3: retrieving revision 1.1
        !             4: diff -c3 -r1.1 printcmd.c
        !             5: *** /tmp/,RCSt1011248  Tue Jan 12 14:06:06 1988
        !             6: --- printcmd.c Mon Sep 21 21:33:39 1987
        !             7: ***************
        !             8: *** 174,179
        !             9:        VALUE_TYPE (val) = builtin_type_float;
        !            10:         if (TYPE_LENGTH (VALUE_TYPE (val)) == sizeof (double))
        !            11:        VALUE_TYPE (val) = builtin_type_double;
        !            12:         printf ("%g", value_as_double (val));
        !            13:         break;
        !            14:   
        !            15: 
        !            16: --- 174,185 -----
        !            17:        VALUE_TYPE (val) = builtin_type_float;
        !            18:         if (TYPE_LENGTH (VALUE_TYPE (val)) == sizeof (double))
        !            19:        VALUE_TYPE (val) = builtin_type_double;
        !            20: + #ifdef PRINTF_BUG
        !            21: +       if (is_nan(value_as_double (val)))
        !            22: +       printf ("Nan");
        !            23: +       else
        !            24: +         printf ("%g", value_as_double (val));
        !            25: + #else
        !            26:         printf ("%g", value_as_double (val));
        !            27:   #endif
        !            28:         break;
        !            29: ***************
        !            30: *** 175,180
        !            31:         if (TYPE_LENGTH (VALUE_TYPE (val)) == sizeof (double))
        !            32:        VALUE_TYPE (val) = builtin_type_double;
        !            33:         printf ("%g", value_as_double (val));
        !            34:         break;
        !            35:   
        !            36:       case 0:
        !            37: 
        !            38: --- 181,187 -----
        !            39:           printf ("%g", value_as_double (val));
        !            40:   #else
        !            41:         printf ("%g", value_as_double (val));
        !            42: + #endif
        !            43:         break;
        !            44:   
        !            45:       case 0:
        !            46: ===================================================================
        !            47: RCS file: RCS/valprint.c,v
        !            48: retrieving revision 1.1
        !            49: diff -c3 -r1.1 valprint.c
        !            50: *** /tmp/,RCSt1011248  Tue Jan 12 14:06:09 1988
        !            51: --- valprint.c Mon Sep 21 21:35:45 1987
        !            52: ***************
        !            53: *** 21,26
        !            54:   #include <stdio.h>
        !            55:   #include "defs.h"
        !            56:   #include "initialize.h"
        !            57:   #include "symtab.h"
        !            58:   #include "value.h"
        !            59:   
        !            60: 
        !            61: --- 21,27 -----
        !            62:   #include <stdio.h>
        !            63:   #include "defs.h"
        !            64:   #include "initialize.h"
        !            65: + #include "param.h"
        !            66:   #include "symtab.h"
        !            67:   #include "value.h"
        !            68:   
        !            69: ***************
        !            70: *** 249,255
        !            71:         break;
        !            72:   
        !            73:       case TYPE_CODE_FLT:
        !            74: !       fprintf (stream, "%g", unpack_double (type, valaddr));
        !            75:         break;
        !            76:   
        !            77:       case TYPE_CODE_VOID:
        !            78: 
        !            79: --- 250,265 -----
        !            80:         break;
        !            81:   
        !            82:       case TYPE_CODE_FLT:
        !            83: !       { double d = unpack_double (type, valaddr);
        !            84: ! #ifdef PRINTF_BUG
        !            85: !      if (is_nan(d))
        !            86: !          fprintf (stream, "Nan");
        !            87: !      else
        !            88: !          fprintf (stream, "%g", d);
        !            89: ! #else
        !            90: !      fprintf (stream, "%g", d);
        !            91: ! #endif
        !            92: !       }
        !            93:         break;
        !            94:   
        !            95:       case TYPE_CODE_VOID:
        !            96: ***************
        !            97: *** 559,563
        !            98:     float_type_table[sizeof (float)] = "float";
        !            99:     float_type_table[sizeof (double)] = "double";
        !           100:   }
        !           101:   
        !           102:   END_FILE
        !           103: 
        !           104: --- 569,599 -----
        !           105:     float_type_table[sizeof (float)] = "float";
        !           106:     float_type_table[sizeof (double)] = "double";
        !           107:   }
        !           108: + 
        !           109: + 
        !           110: + #ifdef PRINTF_BUG
        !           111: + 
        !           112: + struct ieee {                         /* IEEE floating format */
        !           113: +   unsigned int s:1;
        !           114: +   unsigned int e:11;
        !           115: +   unsigned int f1:20;
        !           116: +   unsigned int f2;
        !           117: + };
        !           118: + 
        !           119: + #define ZERO_F(x)  ((x.f1 == 0) && (x.f2 == 0))     /* zero fraction ? */
        !           120: + #define ZERO_E(x)  (x.e == 0)                       /* zero exponential ? */
        !           121: + #define MAX_E(x)   (x.e == 0x7ff)                   /* max exponential ? */
        !           122: + #define MINUS_S(x) (x.s == 1)                       /* minus ? */
        !           123: + 
        !           124: + int
        !           125: + is_nan(arg)                            /* Not a Number ? */
        !           126: + struct ieee arg;
        !           127: + {
        !           128: +   if (MAX_E(arg) && !ZERO_F(arg))
        !           129: +     return (1);
        !           130: +   else
        !           131: +     return (0);
        !           132: + }
        !           133: + #endif
        !           134:   
        !           135:   END_FILE
        !           136: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.