linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Stop some of the abuse of BUG() where compile time checks should be used.
@ 2011-11-22 18:14 David Daney
  2011-11-22 18:14 ` David Daney
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: David Daney @ 2011-11-22 18:14 UTC (permalink / raw)
  To: ralf, Linus Torvalds, Andrew Morton, David Rientjes, DM
  Cc: linux-kernel, linux-arch, David Daney

From: David Daney <david.daney@cavium.com>

New for v2:

As suggested by 'DM', call the macro BUILD_BUG() instead of
BUILD_BUG_ON_USED().  Linus seemed satisfied with this, so if it still
looks good, can we put it in some linux-next tree (Perhaps Andrew
Morton's) to cook for a while?

The second patch now covers linux/huge_mm.h too.

From v1:

   After some, perhaps justified, reluctance to merge dummy
   symbol definitions containing BUG() into header files, I propose
   these patches instead.

   We define a new compile time assertion BUILD_BUG_ON_USED() that can
   be used in places were we expect the compiler's dead code
   elimination to get rid of code.  This happens mostly in code
   dealing with huge pages, but in other places as well.

   The first patch adds BUILD_BUG_ON_USED(), the second gets rid of
   one of the main abusers of BUG().

David Daney (2):
  kernel.h: Add BUILD_BUG() macro.
  hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.

 include/linux/compiler-gcc4.h |    1 +
 include/linux/compiler.h      |    4 +++-
 include/linux/huge_mm.h       |    8 ++++----
 include/linux/hugetlb.h       |   14 +++++++-------
 include/linux/kernel.h        |   16 ++++++++++++++++
 5 files changed, 31 insertions(+), 12 deletions(-)

-- 
1.7.2.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-11-23 11:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-22 18:14 [PATCH v2 0/2] Stop some of the abuse of BUG() where compile time checks should be used David Daney
2011-11-22 18:14 ` David Daney
2011-11-22 18:14 ` [PATCH v2 1/2] kernel.h: Add BUILD_BUG() macro David Daney
2011-11-22 18:14   ` David Daney
2011-11-23  1:34   ` David Rientjes
2011-11-23 11:11   ` David Howells
2011-11-22 18:14 ` [PATCH v2 2/2] hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions David Daney
2011-11-22 18:14   ` David Daney
2011-11-23  1:35   ` David Rientjes
2011-11-23 11:11   ` David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).