[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Add BUILD_BUG_ON() and a handful of users.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID ef0a56c0784df4625d5e5ef8cf6f33ea6fee4d5e # Parent 4e909143218cfc4477b3acf3a4c5a99d60ce4b2e Add BUILD_BUG_ON() and a handful of users. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> diff -r 4e909143218c -r ef0a56c0784d xen/arch/x86/setup.c --- a/xen/arch/x86/setup.c Thu Apr 27 14:13:42 2006 +0100 +++ b/xen/arch/x86/setup.c Thu Apr 27 15:55:09 2006 +0100 @@ -391,17 +391,17 @@ void __init __start_xen(multiboot_info_t total_pages = nr_pages; /* Sanity check for unwanted bloat of dom0_op structure. */ - BUG_ON(sizeof(((struct dom0_op *)0)->u) != - sizeof(((struct dom0_op *)0)->u.pad)); - - BUG_ON(sizeof(start_info_t) > PAGE_SIZE); - BUG_ON(sizeof(shared_info_t) > PAGE_SIZE); - BUG_ON(sizeof(vcpu_info_t) != 64); + BUILD_BUG_ON(sizeof(((struct dom0_op *)0)->u) != + sizeof(((struct dom0_op *)0)->u.pad)); + + BUILD_BUG_ON(sizeof(start_info_t) > PAGE_SIZE); + BUILD_BUG_ON(sizeof(shared_info_t) > PAGE_SIZE); + BUILD_BUG_ON(sizeof(vcpu_info_t) != 64); /* __foo are defined in public headers. Check they match internal defs. */ - BUG_ON(__HYPERVISOR_VIRT_START != HYPERVISOR_VIRT_START); + BUILD_BUG_ON(__HYPERVISOR_VIRT_START != HYPERVISOR_VIRT_START); #ifdef HYPERVISOR_VIRT_END - BUG_ON(__HYPERVISOR_VIRT_END != HYPERVISOR_VIRT_END); + BUILD_BUG_ON(__HYPERVISOR_VIRT_END != HYPERVISOR_VIRT_END); #endif init_frametable(); diff -r 4e909143218c -r ef0a56c0784d xen/include/xen/lib.h --- a/xen/include/xen/lib.h Thu Apr 27 14:13:42 2006 +0100 +++ b/xen/include/xen/lib.h Thu Apr 27 15:55:09 2006 +0100 @@ -15,6 +15,9 @@ } while ( 0 ) #define BUG_ON(_p) do { if (_p) BUG(); } while ( 0 ) + +/* Force a compilation error if condition is true */ +#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2 * !!(condition)])) #ifndef NDEBUG #define ASSERT(_p) { if ( !(_p) ) { printk("Assertion '%s' failed, line %d, file %s\n", #_p , __LINE__, __FILE__); BUG(); } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |