X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fhave.h;h=1d1bedfcccad6796916d98141c765ffdf6301634;hb=244002d83466a85ac4fbb5327e26a60fe44168fd;hp=36d17b6096d3cca7dbe65c68d70131d785c7d8c6;hpb=373b0c12d9d0e8a3b449fd18be704e28dd6403e1;p=tinc diff --git a/src/have.h b/src/have.h index 36d17b60..1d1bedfc 100644 --- a/src/have.h +++ b/src/have.h @@ -45,6 +45,22 @@ #include #include +#ifdef HAVE_STATIC_ASSERT +#define STATIC_ASSERT(expr, msg) _Static_assert((expr), msg) +#else +#define STATIC_ASSERT(check, msg) +#endif + +#ifdef HAVE_ATTR_PACKED +#define PACKED(...) __VA_ARGS__ __attribute__((__packed__)) +#else +#ifdef _MSC_VER +#define PACKED(...) __pragma(pack(push, 1)) __VA_ARGS__ __pragma(pack(pop)) +#else +#warning Your compiler does not support __packed__. Use at your own risk. +#endif +#endif + #ifdef HAVE_ALLOCA_H #include #elif defined(HAVE_NETBSD)