From bc69cb9b106cbb0748b960c10b7cf66d0c5fd28e Mon Sep 17 00:00:00 2001 From: Evan Haas Date: Wed, 1 May 2024 00:11:46 -0700 Subject: [PATCH] translate-c: update UnaryExprOrTypeTrait enum for LLVM 18 --- src/clang.zig | 3 ++- src/translate_c.zig | 1 + src/zig_clang.cpp | 6 ++++++ src/zig_clang.h | 3 ++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/clang.zig b/src/clang.zig index 4d25cb2f7829751ea7f4af0b5f740619691705ca..04c142b3e338f0adea029ac7aa0c7b467bcd6da9 100644 --- a/src/clang.zig +++ b/src/clang.zig @@ -2169,10 +2169,11 @@ pub const Expr_ConstantExprKind = enum(c_int) { pub const UnaryExprOrTypeTrait_Kind = enum(c_int) { SizeOf, + DataSizeOf, AlignOf, + PreferredAlignOf, VecStep, OpenMPRequiredSimdAlign, - PreferredAlignOf, }; pub const OffsetOfNode_Kind = enum(c_int) { diff --git a/src/translate_c.zig b/src/translate_c.zig index 2fbcf72c2ced5fb44be623beb9d116a5bc2e9e19..a7de9a02a59133c0fecc59de09499507dfc93cda 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -3594,6 +3594,7 @@ fn transUnaryExprOrTypeTraitExpr( const node = switch (kind) { .SizeOf => try Tag.sizeof.create(c.arena, type_node), .AlignOf => try Tag.alignof.create(c.arena, type_node), + .DataSizeOf, .PreferredAlignOf, .VecStep, .OpenMPRequiredSimdAlign, diff --git a/src/zig_clang.cpp b/src/zig_clang.cpp index 92889f4221cb5397e76faaf56f8e90b2d5de5e1c..635bad13747fe9aba1c211c9db3a025140ec93eb 100644 --- a/src/zig_clang.cpp +++ b/src/zig_clang.cpp @@ -2247,6 +2247,12 @@ static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ConstantExprKind_NonCl static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ConstantExprKind_ClassTemplateArgument == clang::Expr::ConstantExprKind::ClassTemplateArgument, ""); static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ConstantExprKind_ImmediateInvocation == clang::Expr::ConstantExprKind::ImmediateInvocation, ""); +static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindSizeOf == clang::UnaryExprOrTypeTrait::UETT_SizeOf, ""); +static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindDataSizeOf == clang::UnaryExprOrTypeTrait::UETT_DataSizeOf, ""); +static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindAlignOf == clang::UnaryExprOrTypeTrait::UETT_AlignOf, ""); +static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf == clang::UnaryExprOrTypeTrait::UETT_PreferredAlignOf, ""); +static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindVecStep == clang::UnaryExprOrTypeTrait::UETT_VecStep, ""); +static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindOpenMPRequiredSimdAlign == clang::UnaryExprOrTypeTrait::UETT_OpenMPRequiredSimdAlign, ""); static_assert(sizeof(ZigClangAPValue) == sizeof(clang::APValue), ""); diff --git a/src/zig_clang.h b/src/zig_clang.h index a0fc3d4cadff8146e3ad79724860b70e701bd5e5..6d7ebc64f541e54e3b00061413c72e8ee89f1e9c 100644 --- a/src/zig_clang.h +++ b/src/zig_clang.h @@ -1311,10 +1311,11 @@ enum ZigClangExpr_ConstantExprKind { enum ZigClangUnaryExprOrTypeTrait_Kind { ZigClangUnaryExprOrTypeTrait_KindSizeOf, + ZigClangUnaryExprOrTypeTrait_KindDataSizeOf, ZigClangUnaryExprOrTypeTrait_KindAlignOf, + ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf, ZigClangUnaryExprOrTypeTrait_KindVecStep, ZigClangUnaryExprOrTypeTrait_KindOpenMPRequiredSimdAlign, - ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf, }; enum ZigClangOffsetOfNode_Kind { -- 2.54.0