ian-twilightcoder wrote: > > > as Swift expects all MachO targets to have that defined. > > > > > > can you elaborate on that expectation? > > [shims/Visibility.h](https://github.com/swiftlang/swift/blob/main/stdlib/public/SwiftShims/swift/shims/Visibility.h#L137) > uses `__MACH__` to figure out how to configure the visibility attributes. > It's taking `__MACH__` to mean Mach-O and not dyld. Without that, > apple-none-macho falls down to Windows declspec which is an error. libc++'s > [__configuration/platform.h](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__configuration/platform.h#L21) > takes the same meaning. usr/include/TargetConditionals.h also equates > `__MACH__` to Mach-O.
Actually the TargetConditionals.h use seems to be more like "running Mac OS X native" as opposed to "running in Mac OS 9 or the Classic environment on Mac OS X". gssapi/gssapi.h and krb5/krb5.h is using it for the same purpose. There's similar use in unicode/platform.h and dispatch/dispatch.h, though it's a little less clear if they're trying to figure out (it almost looks like they just don't know about `__has_include` or don't want to use it because it's not supported by every compiler?). https://github.com/llvm/llvm-project/pull/120507 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits