https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117210

--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Alternatively, we could just open code the conditions from sys/cdefs.h

Both FreeBSD and DragonFlyBSD do:

#if (__GNUC_PREREQ__(2, 0) && !defined(__STRICT_ANSI__)) || \
    __STDC_VERSION__ >= 199901
#define __LONG_LONG_SUPPORTED
#endif

/* C++11 exposes a load of C99 stuff */
#if defined(__cplusplus) && __cplusplus >= 201103L
#define __LONG_LONG_SUPPORTED


This seems unlikely to change in future releases of those BSDs, so we could
just use the same condition, i.e. !defined(__STRICT_ANSI__) || __cplusplus >=
201103L

That would avoid including <sys/cdefs.h>. Although realistically, almost any
compilation is going to end up including <sys/cdefs.h> eventually.

Reply via email to