https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117210
--- Comment #10 from Dimitry Andric <dimitry at andric dot com> --- (In reply to Jonathan Wakely from comment #9) > Does this work? > > #include <sys/cdefs.h> > #include <cstdlib> > > int main () > { > long long a = 5; > std::llabs(a); > return 0; > } Yes, that works. So maybe we were lucky that cdefs.h got transitively included in the past, but not anymore? That said, sys/cdefs.h is really a bit of a FreeBSD implementation detail. It does get included automatically with most of the regular system headers, including <stdlib.h>.