Print this page
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero
        
*** 21,30 ****
--- 21,34 ----
  /*
   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
   */
  
+ /*
+  * Copyright (c) 2012 by Delphix. All rights reserved.
+  */
+ 
  /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
  /*        All Rights Reserved   */
  
  #ifndef _SYS_DEBUG_H
  #define _SYS_DEBUG_H
*** 112,129 ****
--- 116,137 ----
  _NOTE(CONSTCOND) } while (0)
  
  #define VERIFY3S(x, y, z)       VERIFY3_IMPL(x, y, z, int64_t)
  #define VERIFY3U(x, y, z)       VERIFY3_IMPL(x, y, z, uint64_t)
  #define VERIFY3P(x, y, z)       VERIFY3_IMPL(x, y, z, uintptr_t)
+ #define VERIFY0(x)              VERIFY3_IMPL(x, ==, 0, uintmax_t)
+ 
  #if DEBUG
  #define ASSERT3S(x, y, z)       VERIFY3_IMPL(x, y, z, int64_t)
  #define ASSERT3U(x, y, z)       VERIFY3_IMPL(x, y, z, uint64_t)
  #define ASSERT3P(x, y, z)       VERIFY3_IMPL(x, y, z, uintptr_t)
+ #define ASSERT0(x)              VERIFY3_IMPL(x, ==, 0, uintmax_t)
  #else
  #define ASSERT3S(x, y, z)       ((void)0)
  #define ASSERT3U(x, y, z)       ((void)0)
  #define ASSERT3P(x, y, z)       ((void)0)
+ #define ASSERT0(x)              ((void)0)
  #endif
  
  #ifdef  _KERNEL
  
  extern void abort_sequence_enter(char *);