Print this page
11528 Makefile.noget can get gone
11529 Use -Wno-maybe-initialized

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libc/port/fp/_base_sup.c
          +++ new/usr/src/lib/libc/port/fp/_base_sup.c
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
       27 +/*
       28 + * Copyright 2019 Joyent, Inc.
       29 + */
       30 +
  27   31  #include "lint.h"
  28   32  #include <sys/types.h>
  29   33  #include "base_conversion.h"
  30   34  #include <sys/isa_defs.h>
  31   35  
  32   36  /*
  33   37   * Miscellaneous support routines used in base conversion
  34   38   */
  35   39  
  36   40  static const union {
↓ open down ↓ 44 lines elided ↑ open up ↑
  81   85  #if defined(__lint)
  82   86          tstored = tstored;
  83   87  #endif
  84   88  }
  85   89  
  86   90  /*
  87   91   * The following routine is no longer used in libc, but we have
  88   92   * to leave it for now because it's still used by Sun's old Fortran
  89   93   * runtime libraries.  Today this is a bug; in the days of SunOS 4.x,
  90   94   * when the relevant design decisions were made, it was a feature.
       95 + *
       96 + * Regardless, on 32-bit, 'quadruple' under GCC is not 128 bits, so it
       97 + * uses uninitialized memory...
  91   98   */
       99 +#pragma GCC diagnostic ignored "-Wuninitialized"
  92  100  enum fp_class_type
  93  101  __class_quadruple(quadruple *x)
  94  102  {
  95  103          quadruple_equivalence kluge;
  96  104  
  97  105          kluge.x = *x;
  98  106          if (kluge.f.msw.exponent == 0) {        /* 0 or sub */
  99  107                  if ((kluge.f.msw.significand == 0) &&
 100  108                      (kluge.f.significand2 == 0) &&
 101  109                      (kluge.f.significand3 == 0) &&
↓ open down ↓ 18 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX