diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2012-01-06 18:32:26 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2012-01-06 18:32:26 +0000 |
commit | 42378be9a055050c86e3e5cf9c456b40342de950 (patch) | |
tree | 0c6bb3fb10c36c4c48004b38e62f8e6cdbbbd8f0 | |
parent | e3173021fa3bfdf7e6759d67838e385a83b2d57e (diff) |
__FLT_EVAL_METHOD__ should be 1 on NetBSD/i386, since it defaults to
"double" rounding.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147669 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Basic/Targets.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index dd85c64496..51538f1a77 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -2185,6 +2185,20 @@ public: } // end anonymous namespace namespace { +class NetBSDI386TargetInfo : public NetBSDTargetInfo<X86_32TargetInfo> { +public: + NetBSDI386TargetInfo(const std::string &triple) : + NetBSDTargetInfo<X86_32TargetInfo>(triple) { + } + + virtual unsigned getFloatEvalMethod() const { + // NetBSD defaults to "double" rounding + return 1; + } +}; +} // end anonymous namespace + +namespace { class OpenBSDI386TargetInfo : public OpenBSDTargetInfo<X86_32TargetInfo> { public: OpenBSDI386TargetInfo(const std::string& triple) : @@ -3889,7 +3903,7 @@ static TargetInfo *AllocateTarget(const std::string &T) { case llvm::Triple::DragonFly: return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(T); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<X86_32TargetInfo>(T); + return new NetBSDI386TargetInfo(T); case llvm::Triple::OpenBSD: return new OpenBSDI386TargetInfo(T); case llvm::Triple::FreeBSD: |