authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-13 15:07:01-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-19 09:37:53-07:00
logf9f9c4a083b4e268caac3feff3a848df7a4f17cb
tree86c229e453d1f09734d6c89d172a471675aa7478
parentc442fbf82a67740d91664674650d27ddf3cd11d6

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.

3 files changed, 26 insertions(+), 1 deletions(-)

src/clang.zig+4
......@@ -113,7 +113,11 @@ pub const APFloatBaseSemantics = enum(c_int) {
113113 IEEEquad,
114114 PPCDoubleDouble,
115115 Float8E5M2,
116 Float8E5M2FNUZ,
116117 Float8E4M3FN,
118 Float8E4M3FNUZ,
119 Float8E4M3B11FNUZ,
120 FloatTF32,
117121 x87DoubleExtended,
118122};
119123
src/zig_clang.cpp+14
......@@ -3986,3 +3986,17 @@ bool ZigClangIsLLVMUsingSeparateLibcxx() {
39863986 return EC.category() != std::generic_category();
39873987}
39883988
3989static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEhalf == llvm::APFloatBase::S_IEEEhalf, "");
3990static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_BFloat == llvm::APFloatBase::S_BFloat);
3991static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEsingle == llvm::APFloatBase::S_IEEEsingle);
3992static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEdouble == llvm::APFloatBase::S_IEEEdouble);
3993static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEquad == llvm::APFloatBase::S_IEEEquad);
3994static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDouble == llvm::APFloatBase::S_PPCDoubleDouble);
3995static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2 == llvm::APFloatBase::S_Float8E5M2);
3996static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ == llvm::APFloatBase::S_Float8E5M2FNUZ);
3997static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FN == llvm::APFloatBase::S_Float8E4M3FN);
3998static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ == llvm::APFloatBase::S_Float8E4M3FNUZ);
3999static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ == llvm::APFloatBase::S_Float8E4M3B11FNUZ);
4000static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_FloatTF32 == llvm::APFloatBase::S_FloatTF32);
4001static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_x87DoubleExtended == llvm::APFloatBase::S_x87DoubleExtended);
4002static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_MaxSemantics == llvm::APFloatBase::S_MaxSemantics);
src/zig_clang.h+8-1
......@@ -1219,9 +1219,16 @@ enum ZigClangAPFloatBase_Semantics {
12191219 ZigClangAPFloatBase_Semantics_BFloat,
12201220 ZigClangAPFloatBase_Semantics_IEEEsingle,
12211221 ZigClangAPFloatBase_Semantics_IEEEdouble,
1222 ZigClangAPFloatBase_Semantics_x87DoubleExtended,
12231222 ZigClangAPFloatBase_Semantics_IEEEquad,
12241223 ZigClangAPFloatBase_Semantics_PPCDoubleDouble,
1224 ZigClangAPFloatBase_Semantics_Float8E5M2,
1225 ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ,
1226 ZigClangAPFloatBase_Semantics_Float8E4M3FN,
1227 ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ,
1228 ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ,
1229 ZigClangAPFloatBase_Semantics_FloatTF32,
1230 ZigClangAPFloatBase_Semantics_x87DoubleExtended,
1231 ZigClangAPFloatBase_Semantics_MaxSemantics = ZigClangAPFloatBase_Semantics_x87DoubleExtended,
12251232};
12261233
12271234enum ZigClangStringLiteral_StringKind {