clang bindings: fix APFloatBaseSemantics enum

This wasn't caught due to missing C++ static asserts for this enum. This
commit adds them and fixes the enum.
This commit is contained in:
Andrew Kelley 2023-09-13 15:07:01 -07:00
parent c442fbf82a
commit f9f9c4a083
3 changed files with 26 additions and 1 deletions

View File

@ -113,7 +113,11 @@ pub const APFloatBaseSemantics = enum(c_int) {
IEEEquad,
PPCDoubleDouble,
Float8E5M2,
Float8E5M2FNUZ,
Float8E4M3FN,
Float8E4M3FNUZ,
Float8E4M3B11FNUZ,
FloatTF32,
x87DoubleExtended,
};

View File

@ -3986,3 +3986,17 @@ bool ZigClangIsLLVMUsingSeparateLibcxx() {
return EC.category() != std::generic_category();
}
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEhalf == llvm::APFloatBase::S_IEEEhalf, "");
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_BFloat == llvm::APFloatBase::S_BFloat);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEsingle == llvm::APFloatBase::S_IEEEsingle);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEdouble == llvm::APFloatBase::S_IEEEdouble);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEquad == llvm::APFloatBase::S_IEEEquad);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDouble == llvm::APFloatBase::S_PPCDoubleDouble);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2 == llvm::APFloatBase::S_Float8E5M2);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ == llvm::APFloatBase::S_Float8E5M2FNUZ);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FN == llvm::APFloatBase::S_Float8E4M3FN);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ == llvm::APFloatBase::S_Float8E4M3FNUZ);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ == llvm::APFloatBase::S_Float8E4M3B11FNUZ);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_FloatTF32 == llvm::APFloatBase::S_FloatTF32);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_x87DoubleExtended == llvm::APFloatBase::S_x87DoubleExtended);
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_MaxSemantics == llvm::APFloatBase::S_MaxSemantics);

View File

@ -1219,9 +1219,16 @@ enum ZigClangAPFloatBase_Semantics {
ZigClangAPFloatBase_Semantics_BFloat,
ZigClangAPFloatBase_Semantics_IEEEsingle,
ZigClangAPFloatBase_Semantics_IEEEdouble,
ZigClangAPFloatBase_Semantics_x87DoubleExtended,
ZigClangAPFloatBase_Semantics_IEEEquad,
ZigClangAPFloatBase_Semantics_PPCDoubleDouble,
ZigClangAPFloatBase_Semantics_Float8E5M2,
ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ,
ZigClangAPFloatBase_Semantics_Float8E4M3FN,
ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ,
ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ,
ZigClangAPFloatBase_Semantics_FloatTF32,
ZigClangAPFloatBase_Semantics_x87DoubleExtended,
ZigClangAPFloatBase_Semantics_MaxSemantics = ZigClangAPFloatBase_Semantics_x87DoubleExtended,
};
enum ZigClangStringLiteral_StringKind {