[llvm-branch-commits] [cfe-branch] r301084 - Merging r295635:

Brad Smith via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sat Apr 22 09:53:19 PDT 2017


Author: brad
Date: Sat Apr 22 11:53:19 2017
New Revision: 301084

URL: http://llvm.org/viewvc/llvm-project?rev=301084&view=rev
Log:
Merging r295635:

------------------------------------------------------------------------
r295635 | brad | 2017-02-19 22:18:15 -0500 (Sun, 19 Feb 2017) | 5 lines

Enable support for __float128 in Clang on OpenBSD/X86

/usr/local/include/c++/4.9.4/type_traits:279:39: error: __float128 is not
supported on this target
------------------------------------------------------------------------

Modified:
    cfe/branches/release_40/lib/Basic/Targets.cpp
    cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp

Modified: cfe/branches/release_40/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Basic/Targets.cpp?rev=301084&r1=301083&r2=301084&view=diff
==============================================================================
--- cfe/branches/release_40/lib/Basic/Targets.cpp (original)
+++ cfe/branches/release_40/lib/Basic/Targets.cpp Sat Apr 22 11:53:19 2017
@@ -545,6 +545,8 @@ protected:
     Builder.defineMacro("__ELF__");
     if (Opts.POSIXThreads)
       Builder.defineMacro("_REENTRANT");
+    if (this->HasFloat128)
+      Builder.defineMacro("__FLOAT128__");
   }
 public:
   OpenBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
@@ -552,11 +554,11 @@ public:
     this->TLSSupported = false;
 
       switch (Triple.getArch()) {
-        default:
         case llvm::Triple::x86:
         case llvm::Triple::x86_64:
-        case llvm::Triple::arm:
-        case llvm::Triple::sparc:
+          this->HasFloat128 = true;
+          // FALLTHROUGH
+        default:
           this->MCountName = "__mcount";
           break;
         case llvm::Triple::mips64:

Modified: cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp?rev=301084&r1=301083&r2=301084&view=diff
==============================================================================
--- cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp (original)
+++ cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp Sat Apr 22 11:53:19 2017
@@ -8,6 +8,10 @@
 // RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-X86
 // RUN: %clang_cc1 -emit-llvm -triple systemz-unknown-linux-gnu -std=c++11 \
 // RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-SYSZ
+// RUN: %clang_cc1 -emit-llvm -triple i686-pc-openbsd -std=c++11 \
+// RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-X86
+// RUN: %clang_cc1 -emit-llvm -triple amd64-pc-openbsd -std=c++11 \
+// RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-X86
 //
 /*  Various contexts where type __float128 can appear. The different check
     prefixes are due to different mangling on X86 and different calling




More information about the llvm-branch-commits mailing list