[PATCH] D64482: [Driver] Define _FILE_OFFSET_BITS=64 on Solaris

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 17 04:18:05 PDT 2019

MaskRay added a comment.

> You may not like them, but there are plenty of examples in OSTargets.h (for kFreeBSD, Hurd, Linux, RTEMS, AIX, Windows, NaCl and

several more). Why take offense in the Solaris case if this is already common practice?

I used that as an example. Defining _GNU_SOURCE was a mistake. Making it different from C was another mistake. It is very unfortunate that it is too late to fix them.

> Even if it were, this would only affect future releases. The user experience of "you need to upgrade to Solaris 11.x" or install update y to get this" seems pretty dismal to me. Besides, that ship has sailed and GCC 9 is released.

Defining `_LARGEFILE_SOURCE`, `_LARGEFILE64_SOURCE` and `_FILE_OFFSET_BITS` on the compiler side is exclusively used by Solaris. Do you mean that newer Solaris versions may define these macros in the common headers and these macros can eventually be removed from compiler drivers?

If these are considered temporary hacks to make some application to compile on older Solaris versions, I think the comment should be expanded a bit.

  rC Clang



More information about the cfe-commits mailing list