Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Mar 2009 09:35:41 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/sys vimage.h
Message-ID:  <200903010935.n219ZpxC063211@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
bz          2009-03-01 09:35:41 UTC

  FreeBSD src repository

  Modified files:
    sys/sys              vimage.h 
  Log:
  SVN rev 189221 on 2009-03-01 09:35:41Z by bz
  
  Add the new compile-time assertion macro CTASSERT_EQUAL().
  It takes a positive integer constant (the expected value) and
  another positive integer, usually compile-time evaluated,
  e.g. CTASSERT_EQUAL(FOO_EXPECTED_SIZE, sizeof (struct foo));
  
  While the classic CTASSERT() gives:
   error: size of array '__assert60' is negative
  this gives you:
   In function '__ctassert_equal_at_line_60':
   warning: '__expected_42_but_got[464ul]' is used uninitialized in this function
  and you can directly see the difference in the expected and the
  real value.
  
  CTASSERT_EQUAL() needs special compile time options to trigger
  thus keep it locally to this header. If it proves to be of general
  interest it can be moved to systm.h.
  
  Submitted by:   jmallett
  Reviewed by:    sam, warner, rwatson, jmallett (earlier versions)
  
  Revision  Changes    Path
  1.9       +24 -0     src/sys/sys/vimage.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903010935.n219ZpxC063211>