Print this page
3373 gcc >= 4.5 concerns about offsetof()

Split Close
Expand all
Collapse all
          --- old/usr/src/common/nvpair/nvpair.c
          +++ new/usr/src/common/nvpair/nvpair.c
↓ open down ↓ 36 lines elided ↑ open up ↑
  37   37  #include <sys/ddi.h>
  38   38  #include <sys/sunddi.h>
  39   39  #else
  40   40  #include <stdarg.h>
  41   41  #include <stdlib.h>
  42   42  #include <string.h>
  43   43  #include <strings.h>
  44   44  #endif
  45   45  
  46   46  #ifndef offsetof
       47 +#if defined(__GNUC__)
       48 +#define offsetof(s, m)  __builtin_offsetof(s, m)
       49 +#else
  47   50  #define offsetof(s, m)  ((size_t)(&(((s *)0)->m)))
       51 +#endif
  48   52  #endif
  49   53  #define skip_whitespace(p)      while ((*(p) == ' ') || (*(p) == '\t')) p++
  50   54  
  51   55  /*
  52   56   * nvpair.c - Provides kernel & userland interfaces for manipulating
  53   57   *      name-value pairs.
  54   58   *
  55   59   * Overview Diagram
  56   60   *
  57   61   *  +--------------+
↓ open down ↓ 3240 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX