diff options
-rw-r--r-- | lib/Basic/Targets.cpp | 7 | ||||
-rw-r--r-- | test/Driver/le32-unknown-nacl.cpp | 19 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index bff4ac8d5c..7399d5a359 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -2870,6 +2870,13 @@ public: } virtual void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const { + DefineStd(Builder, "unix", Opts); + Builder.defineMacro("__ELF__"); + if (Opts.POSIXThreads) + Builder.defineMacro("_REENTRANT"); + if (Opts.CPlusPlus) + Builder.defineMacro("_GNU_SOURCE"); + Builder.defineMacro("__native_client__"); getArchDefines(Opts, Builder); } diff --git a/test/Driver/le32-unknown-nacl.cpp b/test/Driver/le32-unknown-nacl.cpp index 6f2f79d11c..3ff54d40cb 100644 --- a/test/Driver/le32-unknown-nacl.cpp +++ b/test/Driver/le32-unknown-nacl.cpp @@ -26,6 +26,25 @@ void __pnacl__defined() { } #endif +#ifdef unix +void unixdefined() { + // CHECK: unixdefined +} +#endif + +#ifdef __ELF__ +void __ELF__defined() { + // CHECK: __ELF__defined +} +#endif + +#ifdef _GNU_SOURCE +void _GNU_SOURCEdefined() { + // CHECK: _GNU_SOURCEdefined +} +#endif + + // Check types // CHECK: signext i8 @check_char() |