[clang] [clang] Fix UEFI Target info (PR #127290)
Petr Hosek via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 17 11:27:49 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();
----------------
petrhosek wrote:
I understand that this was copied from the MSVC target but it's worth pointing out that neither [UEFI specification](https://uefi.org/specs/UEFI/2.11/02_Overview.html#data-types) nor the [TianoCore reference implementation](https://github.com/tianocore/edk2/blob/master/MdePkg/Include/X64/ProcessorBind.h) mention anything about floating point types so it's not clear whether this is correct or not.
https://github.com/llvm/llvm-project/pull/127290
More information about the cfe-commits
mailing list