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

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/lvm/libmeta/common/meta_statconcise.c
          +++ new/usr/src/lib/lvm/libmeta/common/meta_statconcise.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  27      -
  28   26  #include <meta.h>
  29   27  #include <assert.h>
  30   28  #include <ctype.h>
  31   29  #include <mdiox.h>
  32   30  #include <meta.h>
  33   31  #include <stdio.h>
  34   32  #include <stdlib.h>
  35   33  #include <strings.h>
  36   34  #include <sys/lvm/md_mddb.h>
  37   35  #include <sys/lvm/md_names.h>
↓ open down ↓ 116 lines elided ↑ open up ↑
 154  152          struct md_im_rec        *mdrec;
 155  153  } md_im_list_t;
 156  154  
 157  155  
 158  156  /*
 159  157   * MAXSIZEMDRECNAME is the value that has historically been used to allocate
 160  158   * space for the metadevice name
 161  159   */
 162  160  #define MAXSIZEMDRECNAME        20
 163  161  #define NAMEWIDTH               16
      162 +#if defined(__GNUC__)
      163 +#define offsetof(s, m)  __builtin_offsetof(s, m)
      164 +#else
 164  165  #define offsetof(s, m)  ((size_t)(&(((s *)0)->m)))
      166 +#endif
 165  167  #define NOT_PHYSICAL_DEV        0
 166  168  #define PHYSICAL_DEV            1
 167  169  
 168  170  
 169  171  /*
 170  172   * strip_blacks()
 171  173   *
 172  174   * Strip blanks from string.  Used for size field in concise output.
 173  175   */
 174  176  static char *
↓ open down ↓ 1718 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX