[PATCH] D34158: For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available

Fedor Sergeev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 8 15:57:41 PDT 2017


fedor.sergeev added a comment.

In https://reviews.llvm.org/D34158#836026, @jyknight wrote:

> In https://reviews.llvm.org/D34158#827178, @joerg wrote:
>
> > I had a long discussion with James about this on IRC without reaching a clear consensus. I consider forcing this behavior on all targets to be a major bug. It should be opt-in and opt-in only:
> >
> > (1) The header name is not mandated by any standard. It is not in any namespace generally accepted as implementation-owned.
>
>
> This is a point. I didn't think it was a big deal, but if you want to argue a different name should be used, that's a reasonable argument.
>  If we can get some agreement amongst other libc vendors to use some more agreeable alternative name, and keep a fallback on linux-only for the "stdc-predef.h" name, I'd consider that as a great success.


Perhaps not a big deal yet, but as I have recently described stdc-predef.h idea to Oracle Solaris libc/headers/compilers folks, they generally welcomed the idea..

>> (3) ...Most other platforms have a single canonical libc, libm and libpthread implementation and can as such directly define all the relevant macros directly in the driver.
> 
> I don't think this is accurate. There's many platforms out there, and for almost none of them do we have exact knowledge of the features of the libc encoded into the compiler.

Solaris is a direct example of that...


https://reviews.llvm.org/D34158





More information about the cfe-commits mailing list