libbb: introduce kernel-style BUILD_BUG_ON()

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2015-10-13 14:50:20 +02:00
parent f7ad927c20
commit ab3964db4e
9 changed files with 20 additions and 39 deletions

View File

@@ -49,16 +49,11 @@ static void gettimeofday_ns(struct timespec *ts)
#else
static void gettimeofday_ns(struct timespec *ts)
{
if (sizeof(struct timeval) == sizeof(struct timespec)
&& sizeof(((struct timeval*)ts)->tv_usec) == sizeof(ts->tv_nsec)
) {
/* Cheat */
gettimeofday((void*)ts, NULL);
ts->tv_nsec *= 1000;
} else {
extern void BUG_need_to_implement_gettimeofday_ns(void);
BUG_need_to_implement_gettimeofday_ns();
}
BUILD_BUG_ON(sizeof(struct timeval) != sizeof(struct timespec));
BUILD_BUG_ON(sizeof(((struct timeval*)ts)->tv_usec) != sizeof(ts->tv_nsec));
/* Cheat */
gettimeofday((void*)ts, NULL);
ts->tv_nsec *= 1000;
}
#endif