diff --git a/rts/include/Stg.h b/rts/include/Stg.h index 1f7da9530c4157e1af711af25ad51812435c9b0f..1932236cf39d3f3b472856d81184ac6a0412837c 100644 --- a/rts/include/Stg.h +++ b/rts/include/Stg.h @@ -129,7 +129,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: