Fix CTASSERT issue in a more clean way
- Replace all CTASSERT macro instances with static_assert's. - Remove the WRAPPED_CTASSERT macro; it's now an unnecessary obfuscation. - Localize all static_assert's to the structures being tested. - Sort some headers per-style(9). Approved by: re (hrs) Differential Revision: https://reviews.freebsd.org/D7130 MFC after: 1 week X-MFC with: r302364 Reviewed by: ed, grehan (maintainer) Submitted by: ed Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
96c85efb4b
commit
7e12dfe5ef
@ -29,12 +29,6 @@
|
||||
#ifndef _FBSDRUN_H_
|
||||
#define _FBSDRUN_H_
|
||||
|
||||
#ifndef CTASSERT /* Allow lint to override */
|
||||
#define CTASSERT(x) _CTASSERT(x, __LINE__)
|
||||
#define _CTASSERT(x, y) __CTASSERT(x, y)
|
||||
#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1]
|
||||
#endif
|
||||
|
||||
#define VMEXIT_CONTINUE (0)
|
||||
#define VMEXIT_ABORT (-1)
|
||||
|
||||
|
@ -31,9 +31,9 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/linker_set.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <pthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -755,16 +755,6 @@ pci_emul_init(struct vmctx *ctx, struct pci_devemu *pde, int bus, int slot,
|
||||
return (err);
|
||||
}
|
||||
|
||||
#ifdef __GNU_C__
|
||||
#define WRAPPED_CTASSERT(x) CTASSERT(x) __unused
|
||||
#else
|
||||
#define WRAPPED_CTASSERT(x) CTASSERT(x)
|
||||
#endif
|
||||
|
||||
WRAPPED_CTASSERT(sizeof(struct msicap) == 14);
|
||||
WRAPPED_CTASSERT(sizeof(struct msixcap) == 12);
|
||||
WRAPPED_CTASSERT(sizeof(struct pciecap) == 60);
|
||||
|
||||
void
|
||||
pci_populate_msicap(struct msicap *msicap, int msgnum, int nextptr)
|
||||
{
|
||||
|
@ -160,6 +160,7 @@ struct msicap {
|
||||
uint32_t addrhi;
|
||||
uint16_t msgdata;
|
||||
} __packed;
|
||||
static_assert(sizeof(struct msicap) == 14, "compile-time assertion failed");
|
||||
|
||||
struct msixcap {
|
||||
uint8_t capid;
|
||||
@ -168,6 +169,7 @@ struct msixcap {
|
||||
uint32_t table_info; /* bar index and offset within it */
|
||||
uint32_t pba_info; /* bar index and offset within it */
|
||||
} __packed;
|
||||
static_assert(sizeof(struct msixcap) == 12, "compile-time assertion failed");
|
||||
|
||||
struct pciecap {
|
||||
uint8_t capid;
|
||||
@ -202,6 +204,7 @@ struct pciecap {
|
||||
uint16_t slot_control2;
|
||||
uint16_t slot_status2;
|
||||
} __packed;
|
||||
static_assert(sizeof(struct pciecap) == 60, "compile-time assertion failed");
|
||||
|
||||
typedef void (*pci_lintr_cb)(int b, int s, int pin, int pirq_pin,
|
||||
int ioapic_irq, void *arg);
|
||||
|
@ -37,11 +37,11 @@ __FBSDID("$FreeBSD$");
|
||||
#include <machine/vmm.h>
|
||||
#include <machine/vmm_instruction_emul.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <vmmapi.h>
|
||||
|
||||
@ -91,7 +91,7 @@ struct tss32 {
|
||||
uint16_t tss_trap;
|
||||
uint16_t tss_iomap;
|
||||
};
|
||||
CTASSERT(sizeof(struct tss32) == 104);
|
||||
static_assert(sizeof(struct tss32) == 104, "compile-time assertion failed");
|
||||
|
||||
#define SEL_START(sel) (((sel) & ~0x7))
|
||||
#define SEL_LIMIT(sel) (((sel) | 0x7))
|
||||
|
Loading…
Reference in New Issue
Block a user