|
| 1 | +From 4d755c1f417a09cbe5156af4c04782a10cb047aa Mon Sep 17 00:00:00 2001 |
| 2 | +From: Simon Shillaker < [email protected]> |
| 3 | +Date: Wed, 27 Apr 2022 16:55:11 +0000 |
| 4 | +Subject: [PATCH] Remove __EMSCRIPTEN__ definitions from emscripten target |
| 5 | + |
| 6 | +--- |
| 7 | + clang/lib/Basic/Targets/OSTargets.h | 14 ++++++++++---- |
| 8 | + 1 file changed, 10 insertions(+), 4 deletions(-) |
| 9 | + |
| 10 | +diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h |
| 11 | +index 12df95c19f35..5aaf0e7fc84c 100644 |
| 12 | +--- a/clang/lib/Basic/Targets/OSTargets.h |
| 13 | ++++ b/clang/lib/Basic/Targets/OSTargets.h |
| 14 | +@@ -291,7 +291,7 @@ protected: |
| 15 | + Builder.defineMacro("__HAIKU__"); |
| 16 | + Builder.defineMacro("__ELF__"); |
| 17 | + DefineStd(Builder, "unix", Opts); |
| 18 | +- if (this->HasFloat128) |
| 19 | ++ if (this->HasFloat128) |
| 20 | + Builder.defineMacro("__FLOAT128__"); |
| 21 | + } |
| 22 | + |
| 23 | +@@ -946,9 +946,15 @@ class LLVM_LIBRARY_VISIBILITY EmscriptenTargetInfo |
| 24 | + void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, |
| 25 | + MacroBuilder &Builder) const final { |
| 26 | + WebAssemblyOSTargetInfo<Target>::getOSDefines(Opts, Triple, Builder); |
| 27 | +- Builder.defineMacro("__EMSCRIPTEN__"); |
| 28 | +- if (Opts.POSIXThreads) |
| 29 | +- Builder.defineMacro("__EMSCRIPTEN_PTHREADS__"); |
| 30 | ++ // For Faasm, we need to use the Emscripten target to build shared |
| 31 | ++ // libraries, but we don't actually want any of the emscripten features. |
| 32 | ++ // See htps://bugs.llvm.org/show_bug.cgi?id=42714 |
| 33 | ++ // |
| 34 | ++ Builder.defineMacro("__wasi__"); |
| 35 | ++ |
| 36 | ++ //Builder.defineMacro("__EMSCRIPTEN__"); |
| 37 | ++ //if (Opts.POSIXThreads) |
| 38 | ++ // Builder.defineMacro("__EMSCRIPTEN_PTHREADS__"); |
| 39 | + } |
| 40 | + |
| 41 | + public: |
| 42 | +-- |
| 43 | +2.34.1 |
| 44 | + |
0 commit comments