[clang] [clang] Fix UEFI Target info (PR #127290)

via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 17 13:45:38 PDT 2025


================
@@ -835,16 +835,22 @@ class LLVM_LIBRARY_VISIBILITY UEFIX86_64TargetInfo
 public:
   UEFIX86_64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
       : UEFITargetInfo<X86_64TargetInfo>(Triple, Opts) {
+    LongWidth = LongAlign = 32;
+    DoubleAlign = LongLongAlign = 64;
+    IntMaxType = SignedLongLong;
+    Int64Type = SignedLongLong;
+    SizeType = UnsignedLongLong;
+    PtrDiffType = SignedLongLong;
+    IntPtrType = SignedLongLong;
+    LongDoubleWidth = LongDoubleAlign = 64;
+    LongDoubleFormat = &llvm::APFloat::IEEEdouble();
----------------
Prabhuk wrote:

I'll update the patch removing the floating point support related LongDoubleFormat. I'll add inline comments as well to reflect that we assume defaults for integer types, alignment, C++ abi etc based on what Windows target sets as default. Our goal is to support non-default cases for these down the road as well and I'll try to express that in the comment.

https://github.com/llvm/llvm-project/pull/127290


More information about the cfe-commits mailing list