gcc: Offsetof
1
1 6.51 Support for 'offsetof'
1 ===========================
1
1 GCC implements for both C and C++ a syntactic extension to implement the
1 'offsetof' macro.
1
1 primary:
1 "__builtin_offsetof" "(" typename "," offsetof_member_designator ")"
1
1 offsetof_member_designator:
1 identifier
1 | offsetof_member_designator "." identifier
1 | offsetof_member_designator "[" expr "]"
1
1 This extension is sufficient such that
1
1 #define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER)
1
1 is a suitable definition of the 'offsetof' macro. In C++, TYPE may be
1 dependent. In either case, MEMBER may consist of a single identifier,
1 or a sequence of member accesses and array references.
1