[PATCH] D64603: [Target] Use IEEE quad format for long double on Fuchsia x86_64

Petr Hosek via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 11 15:50:36 PDT 2019


phosek created this revision.
phosek added reviewers: mcgrathr, jakehehrlich.
Herald added subscribers: cfe-commits, kristof.beyls, javed.absar.
Herald added a project: clang.

This change unifies the long double format between x86_64 and aarch64
targets making it easier to write code that's independent of the target.


Repository:
  rC Clang

https://reviews.llvm.org/D64603

Files:
  clang/lib/Basic/Targets.cpp
  clang/lib/Basic/Targets/X86.h


Index: clang/lib/Basic/Targets/X86.h
===================================================================
--- clang/lib/Basic/Targets/X86.h
+++ clang/lib/Basic/Targets/X86.h
@@ -848,6 +848,18 @@
 
   const char *getLongDoubleMangling() const override { return "g"; }
 };
+
+// x86_64 Fuchsia target
+class LLVM_LIBRARY_VISIBILITY FuchsiaX86_64TargetInfo
+    : public FuchsiaTargetInfo<X86_64TargetInfo> {
+public:
+  FuchsiaX86_64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
+      : FuchsiaTargetInfo<X86_64TargetInfo>(Triple, Opts) {
+    LongDoubleFormat = &llvm::APFloat::IEEEquad();
+  }
+};
+
 } // namespace targets
 } // namespace clang
+
 #endif // LLVM_CLANG_LIB_BASIC_TARGETS_X86_H
Index: clang/lib/Basic/Targets.cpp
===================================================================
--- clang/lib/Basic/Targets.cpp
+++ clang/lib/Basic/Targets.cpp
@@ -517,7 +517,7 @@
     case llvm::Triple::FreeBSD:
       return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
     case llvm::Triple::Fuchsia:
-      return new FuchsiaTargetInfo<X86_64TargetInfo>(Triple, Opts);
+      return new FuchsiaX86_64TargetInfo(Triple, Opts);
     case llvm::Triple::KFreeBSD:
       return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
     case llvm::Triple::Solaris:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64603.209361.patch
Type: text/x-patch
Size: 1299 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190711/e0863001/attachment-0001.bin>


More information about the cfe-commits mailing list