diff options
author | Nikita Popov <npopov@redhat.com> | 2025-07-08 10:20:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-08 10:20:43 +0200 |
commit | 18f7655178a69daa52f4d4ef56169b90efc7f601 (patch) | |
tree | 838d27e41f3c0d81db1a131e8f0e735f1075bbd7 /clang/lib/Basic | |
parent | ae496bfac0c34c511775229e94a1439fe8ee4867 (diff) | |
download | llvm-18f7655178a69daa52f4d4ef56169b90efc7f601.zip llvm-18f7655178a69daa52f4d4ef56169b90efc7f601.tar.gz llvm-18f7655178a69daa52f4d4ef56169b90efc7f601.tar.bz2 |
[Clang][Wasm] Set __float128 alignment to 64 for emscripten (#146494)
https://reviews.llvm.org/D104808 set the alignment of long double to 64
bits. This is also the alignment specified in the LLVM data layout.
However, the alignment of __float128 was left at 128 bits.
I assume that this was just an oversight, rather than an intentional
divergence. The C ABI document currently does not make any statement
about `__float128`:
https://github.com/WebAssembly/tool-conventions/blob/main/BasicCABI.md
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/Targets/OSTargets.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h index 5dac699..30d861a 100644 --- a/clang/lib/Basic/Targets/OSTargets.h +++ b/clang/lib/Basic/Targets/OSTargets.h @@ -1002,6 +1002,7 @@ public: // Emscripten's ABI is unstable and we may change this back to 128 to match // the WebAssembly default in the future. this->LongDoubleAlign = 64; + this->Float128Align = 64; } }; |