#ifndef NOSTD_SYS_PARAM_ALIGNOF_H
#define NOSTD_SYS_PARAM_ALIGNOF_H
#include <stddef.h> /* offsetof */
/*
* TODO: More comprehensive compiler detection.
*
* GNU C: __alignof__
* TinyC: __alignof__, __alignof
* MSVC: __alignof
* IBMC: __alignof__
*/
#if !defined alignof && !defined HAVE_ALIGNOF
#if defined __GNUC__
#define alignof(t) __alignof__(t)
#elif defined __TINYC__
#define alignof(t) __alignof__(t)
#elif defined _MSC_VER
#define alignof(t) __alignof(t)
#elif defined __IBMC__
#define alignof(t) __alignof__(t)
#else
#define alignof(t) offsetof(struct { char c; t x; }, x)
#endif
#endif /* !defined alignof && !defined HAVE_ALIGNOF */
#endif /* !NOSTD_SYS_PARAM_ALIGNOF_H */
syntax highlighted by Code2HTML, v. 0.9.1