[WebAssembly] Support __float128

This enables support for the "__float128" keyword.

Differential Revision: https://reviews.llvm.org/D57154

llvm-svn: 352100
This commit is contained in:
Dan Gohman 2019-01-24 20:33:28 +00:00
parent ab82e8381f
commit a957fa7e15
2 changed files with 4 additions and 0 deletions

View File

@ -771,6 +771,8 @@ class LLVM_LIBRARY_VISIBILITY WebAssemblyOSTargetInfo
// Follow g++ convention and predefine _GNU_SOURCE for C++.
if (Opts.CPlusPlus)
Builder.defineMacro("_GNU_SOURCE");
// Indicate that we have __float128.
Builder.defineMacro("__FLOAT128__");
}
public:
@ -779,6 +781,7 @@ public:
: OSTargetInfo<Target>(Triple, Opts) {
this->MCountName = "__mcount";
this->TheCXXABI.set(TargetCXXABI::WebAssembly);
this->HasFloat128 = true;
}
};

View File

@ -9159,6 +9159,7 @@
// WEBASSEMBLY-NEXT:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
// WEBASSEMBLY-NOT:#define __ELF__
// WEBASSEMBLY-NEXT:#define __FINITE_MATH_ONLY__ 0
// WEBASSEMBLY-NEXT:#define __FLOAT128__ 1
// WEBASSEMBLY-NEXT:#define __FLT16_DECIMAL_DIG__ 5
// WEBASSEMBLY-NEXT:#define __FLT16_DENORM_MIN__ 5.9604644775390625e-8F16
// WEBASSEMBLY-NEXT:#define __FLT16_DIG__ 3