diff --git a/rts/include/Stg.h b/rts/include/Stg.h index 81e7c354c9c8934b0fc3b9e676c521010f404681..e652dd4e71568e4bb70de2d0daae743114bf6b28 100644 --- a/rts/include/Stg.h +++ b/rts/include/Stg.h @@ -108,7 +108,7 @@ /* Compute offsets of struct fields */ -#define STG_FIELD_OFFSET(s_type, field) ((StgWord)&(((s_type*)0)->field)) +#define STG_FIELD_OFFSET(s_type, field) __builtin_offsetof(s_type, field) /* * 'Portable' inlining: