apaprocki added inline comments. ================ Comment at: lib/Basic/Targets.cpp:718 @@ +717,3 @@ + Builder.defineMacro("_LONG_LONG"); + Builder.defineMacro("_ALL_SOURCE"); + Builder.defineMacro("_REENTRANT"); ---------------- majnemer wrote: > apaprocki wrote: > > majnemer wrote: > > > Are we really supposed to define this macro? Does GCC define this? I > > > cannot find where it does so in the source. > > I defined both `_ALL_SOURCE` and `_REENTRANT` because the > > `SolarisTargetInfo` defines them (`__EXTENSIONS__` is the Solaris > > equivalent of `_ALL_SOURCE`). If that is an oversight in the Solaris work, > > I'll remove `_ALL_SOURCE` here. GCC does not define it by default. > After a closer examination of the gcc sources, it looks like `ALL_SOURCE` is > defined if gcc is being used for C++ code (via `CPLUSPLUS_CPP_SPEC`). > > I don't see where `_REENTRANT` is defined for AIX though... On AIX, when `gcc` is passed `-pthread`, it defines `_THREAD_SAFE`. I think this should be changed to
``` if (Opts.POSIXThreads) Builder.defineMacro("_THREAD_SAFE"); ``` On Solaris, `gcc` defines `_REENTRANT` when `-pthread` is passed. I think it is a separate bug (and I can file a separate revision) to put the Solaris use of it also on an `Opts.POSIXThreads` check. https://reviews.llvm.org/D18360 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits