On FreeBSD 12.0/i386 I get a compilation error when building a testdir for module 'rawmemchr'. On the master branch, the first error is: In file included from ../../gllib/rawmemchr.c:17: In file included from ../config.h:1018: In file included from /usr/include/stddef.h:41: /usr/include/sys/_types.h:106:35: error: expected expression long long __max_align1 __aligned(_Alignof(long long)); ^ ../config.h:964:39: note: expanded from macro '_Alignof' # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) ^ On the stable-202301 branch, the first error is: In file included from ../../gllib/rawmemchr.c:17: In file included from ../config.h:925: In file included from ./stdalign.h:131: In file included from /usr/include/stddef.h:41: /usr/include/sys/_types.h:106:35: error: expected expression long long __max_align1 __aligned(_Alignof(long long)); ^ ./stdalign.h:70:36: note: expanded from macro '_Alignof' # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) ^ What happens is that - config.h includes , per the patch that I submitted in . - This is the gnulib-generated one. (In the purpose of my patch was to avoid including the gnulib-generated stdalign.h, but it did not achieve that goal since on this platform HAVE_STDALIGN_H is 1, following these configure findings: checking for stdalign.h... yes checking for alignas and alignof... no . Anyway.) - At the end of , gets included. - includes , which attempts to define max_align_t. For this it uses _Alignof(long long), which expands to offsetof (struct { char __a; long long __b; }, __b) - But at this point offsetof is not yet defined (since is still being included). The following patch fixes it. One in master, a different one for the stable-202301 branch. (On the stable-202207 branch there is no problem.)