diff --git a/lang/cem/libcc.ansi/headers/stddef.h b/lang/cem/libcc.ansi/headers/stddef.h index aa4c370f5..aa60ff63d 100644 --- a/lang/cem/libcc.ansi/headers/stddef.h +++ b/lang/cem/libcc.ansi/headers/stddef.h @@ -11,7 +11,8 @@ #define NULL ((void *)0) -#define offsetof(type, ident) ((size_t) &(((type *)0)->ident)) +#define offsetof(type, ident) ((size_t) (unsigned long) (char *)(&((type *)0)->ident)) + #if _EM_PSIZE == _EM_WSIZE typedef int ptrdiff_t; /* result of substracting two pointers */