Commit 6a018d3e65

Andrew Kelley <andrew@ziglang.org>
2024-04-26 01:43:20
update zig_clang C++ API wrapper bindings to LLVM 18
release/18.x branch, commit 78b99c73ee4b96fe9ce0e294d4632326afb2db42
1 parent 243ae3a
src/clang.zig
@@ -281,7 +281,7 @@ pub const CharacterLiteral = opaque {
     extern fn ZigClangCharacterLiteral_getBeginLoc(*const CharacterLiteral) SourceLocation;
 
     pub const getKind = ZigClangCharacterLiteral_getKind;
-    extern fn ZigClangCharacterLiteral_getKind(*const CharacterLiteral) CharacterLiteral_CharacterKind;
+    extern fn ZigClangCharacterLiteral_getKind(*const CharacterLiteral) CharacterLiteralKind;
 
     pub const getValue = ZigClangCharacterLiteral_getValue;
     extern fn ZigClangCharacterLiteral_getValue(*const CharacterLiteral) c_uint;
@@ -873,7 +873,7 @@ pub const StmtExpr = opaque {
 
 pub const StringLiteral = opaque {
     pub const getKind = ZigClangStringLiteral_getKind;
-    extern fn ZigClangStringLiteral_getKind(*const StringLiteral) CharacterLiteral_CharacterKind;
+    extern fn ZigClangStringLiteral_getKind(*const StringLiteral) CharacterLiteralKind;
 
     pub const getCodeUnit = ZigClangStringLiteral_getCodeUnit;
     extern fn ZigClangStringLiteral_getCodeUnit(*const StringLiteral, usize) u32;
@@ -1190,239 +1190,240 @@ pub const TypeClass = enum(c_int) {
 
 const StmtClass = enum(c_int) {
     NoStmtClass,
-    GCCAsmStmtClass,
-    MSAsmStmtClass,
-    BreakStmtClass,
-    CXXCatchStmtClass,
-    CXXForRangeStmtClass,
-    CXXTryStmtClass,
-    CapturedStmtClass,
-    CompoundStmtClass,
-    ContinueStmtClass,
-    CoreturnStmtClass,
-    CoroutineBodyStmtClass,
-    DeclStmtClass,
-    DoStmtClass,
-    ForStmtClass,
-    GotoStmtClass,
-    IfStmtClass,
-    IndirectGotoStmtClass,
-    MSDependentExistsStmtClass,
-    NullStmtClass,
-    OMPCanonicalLoopClass,
-    OMPAtomicDirectiveClass,
-    OMPBarrierDirectiveClass,
-    OMPCancelDirectiveClass,
-    OMPCancellationPointDirectiveClass,
-    OMPCriticalDirectiveClass,
-    OMPDepobjDirectiveClass,
-    OMPDispatchDirectiveClass,
-    OMPErrorDirectiveClass,
-    OMPFlushDirectiveClass,
-    OMPInteropDirectiveClass,
-    OMPDistributeDirectiveClass,
-    OMPDistributeParallelForDirectiveClass,
-    OMPDistributeParallelForSimdDirectiveClass,
-    OMPDistributeSimdDirectiveClass,
-    OMPForDirectiveClass,
-    OMPForSimdDirectiveClass,
-    OMPGenericLoopDirectiveClass,
-    OMPMaskedTaskLoopDirectiveClass,
-    OMPMaskedTaskLoopSimdDirectiveClass,
-    OMPMasterTaskLoopDirectiveClass,
-    OMPMasterTaskLoopSimdDirectiveClass,
-    OMPParallelForDirectiveClass,
-    OMPParallelForSimdDirectiveClass,
-    OMPParallelGenericLoopDirectiveClass,
-    OMPParallelMaskedTaskLoopDirectiveClass,
-    OMPParallelMaskedTaskLoopSimdDirectiveClass,
-    OMPParallelMasterTaskLoopDirectiveClass,
-    OMPParallelMasterTaskLoopSimdDirectiveClass,
-    OMPSimdDirectiveClass,
-    OMPTargetParallelForSimdDirectiveClass,
-    OMPTargetParallelGenericLoopDirectiveClass,
-    OMPTargetSimdDirectiveClass,
-    OMPTargetTeamsDistributeDirectiveClass,
-    OMPTargetTeamsDistributeParallelForDirectiveClass,
-    OMPTargetTeamsDistributeParallelForSimdDirectiveClass,
-    OMPTargetTeamsDistributeSimdDirectiveClass,
-    OMPTargetTeamsGenericLoopDirectiveClass,
-    OMPTaskLoopDirectiveClass,
-    OMPTaskLoopSimdDirectiveClass,
-    OMPTeamsDistributeDirectiveClass,
-    OMPTeamsDistributeParallelForDirectiveClass,
-    OMPTeamsDistributeParallelForSimdDirectiveClass,
-    OMPTeamsDistributeSimdDirectiveClass,
-    OMPTeamsGenericLoopDirectiveClass,
-    OMPTileDirectiveClass,
-    OMPUnrollDirectiveClass,
-    OMPMaskedDirectiveClass,
-    OMPMasterDirectiveClass,
-    OMPMetaDirectiveClass,
-    OMPOrderedDirectiveClass,
-    OMPParallelDirectiveClass,
-    OMPParallelMaskedDirectiveClass,
-    OMPParallelMasterDirectiveClass,
-    OMPParallelSectionsDirectiveClass,
-    OMPScanDirectiveClass,
-    OMPSectionDirectiveClass,
-    OMPSectionsDirectiveClass,
-    OMPSingleDirectiveClass,
-    OMPTargetDataDirectiveClass,
-    OMPTargetDirectiveClass,
-    OMPTargetEnterDataDirectiveClass,
-    OMPTargetExitDataDirectiveClass,
-    OMPTargetParallelDirectiveClass,
-    OMPTargetParallelForDirectiveClass,
-    OMPTargetTeamsDirectiveClass,
-    OMPTargetUpdateDirectiveClass,
-    OMPTaskDirectiveClass,
-    OMPTaskgroupDirectiveClass,
-    OMPTaskwaitDirectiveClass,
-    OMPTaskyieldDirectiveClass,
-    OMPTeamsDirectiveClass,
-    ObjCAtCatchStmtClass,
-    ObjCAtFinallyStmtClass,
-    ObjCAtSynchronizedStmtClass,
-    ObjCAtThrowStmtClass,
-    ObjCAtTryStmtClass,
-    ObjCAutoreleasePoolStmtClass,
-    ObjCForCollectionStmtClass,
-    ReturnStmtClass,
-    SEHExceptStmtClass,
-    SEHFinallyStmtClass,
-    SEHLeaveStmtClass,
-    SEHTryStmtClass,
-    CaseStmtClass,
-    DefaultStmtClass,
-    SwitchStmtClass,
-    AttributedStmtClass,
-    BinaryConditionalOperatorClass,
-    ConditionalOperatorClass,
-    AddrLabelExprClass,
-    ArrayInitIndexExprClass,
-    ArrayInitLoopExprClass,
-    ArraySubscriptExprClass,
-    ArrayTypeTraitExprClass,
-    AsTypeExprClass,
-    AtomicExprClass,
-    BinaryOperatorClass,
-    CompoundAssignOperatorClass,
-    BlockExprClass,
-    CXXBindTemporaryExprClass,
-    CXXBoolLiteralExprClass,
-    CXXConstructExprClass,
-    CXXTemporaryObjectExprClass,
-    CXXDefaultArgExprClass,
-    CXXDefaultInitExprClass,
-    CXXDeleteExprClass,
-    CXXDependentScopeMemberExprClass,
-    CXXFoldExprClass,
-    CXXInheritedCtorInitExprClass,
-    CXXNewExprClass,
-    CXXNoexceptExprClass,
-    CXXNullPtrLiteralExprClass,
-    CXXParenListInitExprClass,
-    CXXPseudoDestructorExprClass,
-    CXXRewrittenBinaryOperatorClass,
-    CXXScalarValueInitExprClass,
-    CXXStdInitializerListExprClass,
-    CXXThisExprClass,
-    CXXThrowExprClass,
-    CXXTypeidExprClass,
-    CXXUnresolvedConstructExprClass,
-    CXXUuidofExprClass,
+    WhileStmtClass,
+    LabelStmtClass,
+    VAArgExprClass,
+    UnaryOperatorClass,
+    UnaryExprOrTypeTraitExprClass,
+    TypoExprClass,
+    TypeTraitExprClass,
+    SubstNonTypeTemplateParmPackExprClass,
+    SubstNonTypeTemplateParmExprClass,
+    StringLiteralClass,
+    StmtExprClass,
+    SourceLocExprClass,
+    SizeOfPackExprClass,
+    ShuffleVectorExprClass,
+    SYCLUniqueStableNameExprClass,
+    RequiresExprClass,
+    RecoveryExprClass,
+    PseudoObjectExprClass,
+    PredefinedExprClass,
+    ParenListExprClass,
+    ParenExprClass,
+    PackExpansionExprClass,
+    UnresolvedMemberExprClass,
+    UnresolvedLookupExprClass,
+    OpaqueValueExprClass,
+    OffsetOfExprClass,
+    ObjCSubscriptRefExprClass,
+    ObjCStringLiteralClass,
+    ObjCSelectorExprClass,
+    ObjCProtocolExprClass,
+    ObjCPropertyRefExprClass,
+    ObjCMessageExprClass,
+    ObjCIvarRefExprClass,
+    ObjCIsaExprClass,
+    ObjCIndirectCopyRestoreExprClass,
+    ObjCEncodeExprClass,
+    ObjCDictionaryLiteralClass,
+    ObjCBoxedExprClass,
+    ObjCBoolLiteralExprClass,
+    ObjCAvailabilityCheckExprClass,
+    ObjCArrayLiteralClass,
+    OMPIteratorExprClass,
+    OMPArrayShapingExprClass,
+    OMPArraySectionExprClass,
+    NoInitExprClass,
+    MemberExprClass,
+    MatrixSubscriptExprClass,
+    MaterializeTemporaryExprClass,
+    MSPropertySubscriptExprClass,
+    MSPropertyRefExprClass,
+    LambdaExprClass,
+    IntegerLiteralClass,
+    InitListExprClass,
+    ImplicitValueInitExprClass,
+    ImaginaryLiteralClass,
+    GenericSelectionExprClass,
+    GNUNullExprClass,
+    FunctionParmPackExprClass,
+    ExprWithCleanupsClass,
+    ConstantExprClass,
+    FloatingLiteralClass,
+    FixedPointLiteralClass,
+    ExtVectorElementExprClass,
+    ExpressionTraitExprClass,
+    DesignatedInitUpdateExprClass,
+    DesignatedInitExprClass,
+    DependentScopeDeclRefExprClass,
+    DependentCoawaitExprClass,
+    DeclRefExprClass,
+    CoyieldExprClass,
+    CoawaitExprClass,
+    ConvertVectorExprClass,
+    ConceptSpecializationExprClass,
+    CompoundLiteralExprClass,
+    ChooseExprClass,
+    CharacterLiteralClass,
+    ImplicitCastExprClass,
+    ObjCBridgedCastExprClass,
+    CXXStaticCastExprClass,
+    CXXReinterpretCastExprClass,
+    CXXDynamicCastExprClass,
+    CXXConstCastExprClass,
+    CXXAddrspaceCastExprClass,
+    CXXFunctionalCastExprClass,
+    CStyleCastExprClass,
+    BuiltinBitCastExprClass,
     CallExprClass,
-    CUDAKernelCallExprClass,
-    CXXMemberCallExprClass,
-    CXXOperatorCallExprClass,
     UserDefinedLiteralClass,
-    BuiltinBitCastExprClass,
-    CStyleCastExprClass,
-    CXXFunctionalCastExprClass,
-    CXXAddrspaceCastExprClass,
-    CXXConstCastExprClass,
-    CXXDynamicCastExprClass,
-    CXXReinterpretCastExprClass,
-    CXXStaticCastExprClass,
-    ObjCBridgedCastExprClass,
-    ImplicitCastExprClass,
-    CharacterLiteralClass,
-    ChooseExprClass,
-    CompoundLiteralExprClass,
-    ConceptSpecializationExprClass,
-    ConvertVectorExprClass,
-    CoawaitExprClass,
-    CoyieldExprClass,
-    DeclRefExprClass,
-    DependentCoawaitExprClass,
-    DependentScopeDeclRefExprClass,
-    DesignatedInitExprClass,
-    DesignatedInitUpdateExprClass,
-    ExpressionTraitExprClass,
-    ExtVectorElementExprClass,
-    FixedPointLiteralClass,
-    FloatingLiteralClass,
-    ConstantExprClass,
-    ExprWithCleanupsClass,
-    FunctionParmPackExprClass,
-    GNUNullExprClass,
-    GenericSelectionExprClass,
-    ImaginaryLiteralClass,
-    ImplicitValueInitExprClass,
-    InitListExprClass,
-    IntegerLiteralClass,
-    LambdaExprClass,
-    MSPropertyRefExprClass,
-    MSPropertySubscriptExprClass,
-    MaterializeTemporaryExprClass,
-    MatrixSubscriptExprClass,
-    MemberExprClass,
-    NoInitExprClass,
-    OMPArraySectionExprClass,
-    OMPArrayShapingExprClass,
-    OMPIteratorExprClass,
-    ObjCArrayLiteralClass,
-    ObjCAvailabilityCheckExprClass,
-    ObjCBoolLiteralExprClass,
-    ObjCBoxedExprClass,
-    ObjCDictionaryLiteralClass,
-    ObjCEncodeExprClass,
-    ObjCIndirectCopyRestoreExprClass,
-    ObjCIsaExprClass,
-    ObjCIvarRefExprClass,
-    ObjCMessageExprClass,
-    ObjCPropertyRefExprClass,
-    ObjCProtocolExprClass,
-    ObjCSelectorExprClass,
-    ObjCStringLiteralClass,
-    ObjCSubscriptRefExprClass,
-    OffsetOfExprClass,
-    OpaqueValueExprClass,
-    UnresolvedLookupExprClass,
-    UnresolvedMemberExprClass,
-    PackExpansionExprClass,
-    ParenExprClass,
-    ParenListExprClass,
-    PredefinedExprClass,
-    PseudoObjectExprClass,
-    RecoveryExprClass,
-    RequiresExprClass,
-    SYCLUniqueStableNameExprClass,
-    ShuffleVectorExprClass,
-    SizeOfPackExprClass,
-    SourceLocExprClass,
-    StmtExprClass,
-    StringLiteralClass,
-    SubstNonTypeTemplateParmExprClass,
-    SubstNonTypeTemplateParmPackExprClass,
-    TypeTraitExprClass,
-    TypoExprClass,
-    UnaryExprOrTypeTraitExprClass,
-    UnaryOperatorClass,
-    VAArgExprClass,
-    LabelStmtClass,
-    WhileStmtClass,
+    CXXOperatorCallExprClass,
+    CXXMemberCallExprClass,
+    CUDAKernelCallExprClass,
+    CXXUuidofExprClass,
+    CXXUnresolvedConstructExprClass,
+    CXXTypeidExprClass,
+    CXXThrowExprClass,
+    CXXThisExprClass,
+    CXXStdInitializerListExprClass,
+    CXXScalarValueInitExprClass,
+    CXXRewrittenBinaryOperatorClass,
+    CXXPseudoDestructorExprClass,
+    CXXParenListInitExprClass,
+    CXXNullPtrLiteralExprClass,
+    CXXNoexceptExprClass,
+    CXXNewExprClass,
+    CXXInheritedCtorInitExprClass,
+    CXXFoldExprClass,
+    CXXDependentScopeMemberExprClass,
+    CXXDeleteExprClass,
+    CXXDefaultInitExprClass,
+    CXXDefaultArgExprClass,
+    CXXConstructExprClass,
+    CXXTemporaryObjectExprClass,
+    CXXBoolLiteralExprClass,
+    CXXBindTemporaryExprClass,
+    BlockExprClass,
+    BinaryOperatorClass,
+    CompoundAssignOperatorClass,
+    AtomicExprClass,
+    AsTypeExprClass,
+    ArrayTypeTraitExprClass,
+    ArraySubscriptExprClass,
+    ArrayInitLoopExprClass,
+    ArrayInitIndexExprClass,
+    AddrLabelExprClass,
+    ConditionalOperatorClass,
+    BinaryConditionalOperatorClass,
+    AttributedStmtClass,
+    SwitchStmtClass,
+    DefaultStmtClass,
+    CaseStmtClass,
+    SEHTryStmtClass,
+    SEHLeaveStmtClass,
+    SEHFinallyStmtClass,
+    SEHExceptStmtClass,
+    ReturnStmtClass,
+    ObjCForCollectionStmtClass,
+    ObjCAutoreleasePoolStmtClass,
+    ObjCAtTryStmtClass,
+    ObjCAtThrowStmtClass,
+    ObjCAtSynchronizedStmtClass,
+    ObjCAtFinallyStmtClass,
+    ObjCAtCatchStmtClass,
+    OMPTeamsDirectiveClass,
+    OMPTaskyieldDirectiveClass,
+    OMPTaskwaitDirectiveClass,
+    OMPTaskgroupDirectiveClass,
+    OMPTaskDirectiveClass,
+    OMPTargetUpdateDirectiveClass,
+    OMPTargetTeamsDirectiveClass,
+    OMPTargetParallelForDirectiveClass,
+    OMPTargetParallelDirectiveClass,
+    OMPTargetExitDataDirectiveClass,
+    OMPTargetEnterDataDirectiveClass,
+    OMPTargetDirectiveClass,
+    OMPTargetDataDirectiveClass,
+    OMPSingleDirectiveClass,
+    OMPSectionsDirectiveClass,
+    OMPSectionDirectiveClass,
+    OMPScopeDirectiveClass,
+    OMPScanDirectiveClass,
+    OMPParallelSectionsDirectiveClass,
+    OMPParallelMasterDirectiveClass,
+    OMPParallelMaskedDirectiveClass,
+    OMPParallelDirectiveClass,
+    OMPOrderedDirectiveClass,
+    OMPMetaDirectiveClass,
+    OMPMasterDirectiveClass,
+    OMPMaskedDirectiveClass,
+    OMPUnrollDirectiveClass,
+    OMPTileDirectiveClass,
+    OMPTeamsGenericLoopDirectiveClass,
+    OMPTeamsDistributeSimdDirectiveClass,
+    OMPTeamsDistributeParallelForSimdDirectiveClass,
+    OMPTeamsDistributeParallelForDirectiveClass,
+    OMPTeamsDistributeDirectiveClass,
+    OMPTaskLoopSimdDirectiveClass,
+    OMPTaskLoopDirectiveClass,
+    OMPTargetTeamsGenericLoopDirectiveClass,
+    OMPTargetTeamsDistributeSimdDirectiveClass,
+    OMPTargetTeamsDistributeParallelForSimdDirectiveClass,
+    OMPTargetTeamsDistributeParallelForDirectiveClass,
+    OMPTargetTeamsDistributeDirectiveClass,
+    OMPTargetSimdDirectiveClass,
+    OMPTargetParallelGenericLoopDirectiveClass,
+    OMPTargetParallelForSimdDirectiveClass,
+    OMPSimdDirectiveClass,
+    OMPParallelMasterTaskLoopSimdDirectiveClass,
+    OMPParallelMasterTaskLoopDirectiveClass,
+    OMPParallelMaskedTaskLoopSimdDirectiveClass,
+    OMPParallelMaskedTaskLoopDirectiveClass,
+    OMPParallelGenericLoopDirectiveClass,
+    OMPParallelForSimdDirectiveClass,
+    OMPParallelForDirectiveClass,
+    OMPMasterTaskLoopSimdDirectiveClass,
+    OMPMasterTaskLoopDirectiveClass,
+    OMPMaskedTaskLoopSimdDirectiveClass,
+    OMPMaskedTaskLoopDirectiveClass,
+    OMPGenericLoopDirectiveClass,
+    OMPForSimdDirectiveClass,
+    OMPForDirectiveClass,
+    OMPDistributeSimdDirectiveClass,
+    OMPDistributeParallelForSimdDirectiveClass,
+    OMPDistributeParallelForDirectiveClass,
+    OMPDistributeDirectiveClass,
+    OMPInteropDirectiveClass,
+    OMPFlushDirectiveClass,
+    OMPErrorDirectiveClass,
+    OMPDispatchDirectiveClass,
+    OMPDepobjDirectiveClass,
+    OMPCriticalDirectiveClass,
+    OMPCancellationPointDirectiveClass,
+    OMPCancelDirectiveClass,
+    OMPBarrierDirectiveClass,
+    OMPAtomicDirectiveClass,
+    OMPCanonicalLoopClass,
+    NullStmtClass,
+    MSDependentExistsStmtClass,
+    IndirectGotoStmtClass,
+    IfStmtClass,
+    GotoStmtClass,
+    ForStmtClass,
+    DoStmtClass,
+    DeclStmtClass,
+    CoroutineBodyStmtClass,
+    CoreturnStmtClass,
+    ContinueStmtClass,
+    CompoundStmtClass,
+    CapturedStmtClass,
+    CXXTryStmtClass,
+    CXXForRangeStmtClass,
+    CXXCatchStmtClass,
+    BreakStmtClass,
+    MSAsmStmtClass,
+    GCCAsmStmtClass,
 };
 
 pub const CK = enum(c_int) {
@@ -1494,93 +1495,92 @@ pub const CK = enum(c_int) {
 };
 
 pub const DeclKind = enum(c_int) {
-    AccessSpec,
-    Block,
-    Captured,
-    ClassScopeFunctionSpecialization,
-    Empty,
-    Export,
-    ExternCContext,
-    FileScopeAsm,
-    Friend,
-    FriendTemplate,
-    ImplicitConceptSpecialization,
-    Import,
-    LifetimeExtendedTemporary,
+    TranslationUnit,
+    RequiresExprBody,
     LinkageSpec,
-    Using,
-    UsingEnum,
-    HLSLBuffer,
-    Label,
-    Namespace,
-    NamespaceAlias,
-    ObjCCompatibleAlias,
-    ObjCCategory,
-    ObjCCategoryImpl,
-    ObjCImplementation,
-    ObjCInterface,
-    ObjCProtocol,
+    ExternCContext,
+    Export,
+    Captured,
+    Block,
+    TopLevelStmt,
+    StaticAssert,
+    PragmaDetectMismatch,
+    PragmaComment,
+    ObjCPropertyImpl,
+    OMPThreadPrivate,
+    OMPRequires,
+    OMPAllocate,
     ObjCMethod,
-    ObjCProperty,
-    BuiltinTemplate,
-    Concept,
-    ClassTemplate,
-    FunctionTemplate,
-    TypeAliasTemplate,
-    VarTemplate,
-    TemplateTemplateParm,
-    Enum,
-    Record,
-    CXXRecord,
-    ClassTemplateSpecialization,
-    ClassTemplatePartialSpecialization,
-    TemplateTypeParm,
-    ObjCTypeParam,
-    TypeAlias,
-    Typedef,
-    UnresolvedUsingTypename,
-    UnresolvedUsingIfExists,
-    UsingDirective,
-    UsingPack,
-    UsingShadow,
-    ConstructorUsingShadow,
-    Binding,
-    Field,
-    ObjCAtDefsField,
-    ObjCIvar,
+    ObjCProtocol,
+    ObjCInterface,
+    ObjCImplementation,
+    ObjCCategoryImpl,
+    ObjCCategory,
+    Namespace,
+    HLSLBuffer,
+    OMPDeclareReduction,
+    OMPDeclareMapper,
+    UnresolvedUsingValue,
+    UnnamedGlobalConstant,
+    TemplateParamObject,
+    MSGuid,
+    IndirectField,
+    EnumConstant,
     Function,
-    CXXDeductionGuide,
     CXXMethod,
-    CXXConstructor,
-    CXXConversion,
     CXXDestructor,
-    MSProperty,
-    NonTypeTemplateParm,
+    CXXConversion,
+    CXXConstructor,
+    CXXDeductionGuide,
     Var,
-    Decomposition,
-    ImplicitParam,
-    OMPCapturedExpr,
-    ParmVar,
     VarTemplateSpecialization,
     VarTemplatePartialSpecialization,
-    EnumConstant,
-    IndirectField,
-    MSGuid,
-    OMPDeclareMapper,
-    OMPDeclareReduction,
-    TemplateParamObject,
-    UnnamedGlobalConstant,
-    UnresolvedUsingValue,
-    OMPAllocate,
-    OMPRequires,
-    OMPThreadPrivate,
-    ObjCPropertyImpl,
-    PragmaComment,
-    PragmaDetectMismatch,
-    RequiresExprBody,
-    StaticAssert,
-    TopLevelStmt,
-    TranslationUnit,
+    ParmVar,
+    OMPCapturedExpr,
+    ImplicitParam,
+    Decomposition,
+    NonTypeTemplateParm,
+    MSProperty,
+    Field,
+    ObjCIvar,
+    ObjCAtDefsField,
+    Binding,
+    UsingShadow,
+    ConstructorUsingShadow,
+    UsingPack,
+    UsingDirective,
+    UnresolvedUsingIfExists,
+    Record,
+    CXXRecord,
+    ClassTemplateSpecialization,
+    ClassTemplatePartialSpecialization,
+    Enum,
+    UnresolvedUsingTypename,
+    Typedef,
+    TypeAlias,
+    ObjCTypeParam,
+    TemplateTypeParm,
+    TemplateTemplateParm,
+    VarTemplate,
+    TypeAliasTemplate,
+    FunctionTemplate,
+    ClassTemplate,
+    Concept,
+    BuiltinTemplate,
+    ObjCProperty,
+    ObjCCompatibleAlias,
+    NamespaceAlias,
+    Label,
+    UsingEnum,
+    Using,
+    LifetimeExtendedTemporary,
+    Import,
+    ImplicitConceptSpecialization,
+    FriendTemplate,
+    Friend,
+    FileScopeAsm,
+    Empty,
+    AccessSpec,
 };
 
 pub const BuiltinTypeKind = enum(c_int) {
@@ -1736,6 +1736,12 @@ pub const BuiltinTypeKind = enum(c_int) {
     RvvFloat16m2,
     RvvFloat16m4,
     RvvFloat16m8,
+    RvvBFloat16mf4,
+    RvvBFloat16mf2,
+    RvvBFloat16m1,
+    RvvBFloat16m2,
+    RvvBFloat16m4,
+    RvvBFloat16m8,
     RvvFloat32mf2,
     RvvFloat32m1,
     RvvFloat32m2,
@@ -1978,6 +1984,31 @@ pub const BuiltinTypeKind = enum(c_int) {
     RvvFloat64m2x3,
     RvvFloat64m2x4,
     RvvFloat64m4x2,
+    RvvBFloat16mf4x2,
+    RvvBFloat16mf4x3,
+    RvvBFloat16mf4x4,
+    RvvBFloat16mf4x5,
+    RvvBFloat16mf4x6,
+    RvvBFloat16mf4x7,
+    RvvBFloat16mf4x8,
+    RvvBFloat16mf2x2,
+    RvvBFloat16mf2x3,
+    RvvBFloat16mf2x4,
+    RvvBFloat16mf2x5,
+    RvvBFloat16mf2x6,
+    RvvBFloat16mf2x7,
+    RvvBFloat16mf2x8,
+    RvvBFloat16m1x2,
+    RvvBFloat16m1x3,
+    RvvBFloat16m1x4,
+    RvvBFloat16m1x5,
+    RvvBFloat16m1x6,
+    RvvBFloat16m1x7,
+    RvvBFloat16m1x8,
+    RvvBFloat16m2x2,
+    RvvBFloat16m2x3,
+    RvvBFloat16m2x4,
+    RvvBFloat16m4x2,
     WasmExternRef,
     Void,
     Bool,
@@ -2097,7 +2128,7 @@ pub const APFloat_roundingMode = enum(i8) {
     Invalid = -1,
 };
 
-pub const CharacterLiteral_CharacterKind = enum(c_int) {
+pub const CharacterLiteralKind = enum(c_int) {
     Ascii,
     Wide,
     UTF8,
src/translate_c.zig
@@ -1080,6 +1080,8 @@ fn transEnumDecl(c: *Context, scope: *Scope, enum_decl: *const clang.EnumDecl) E
                 .name = enum_val_name,
                 .is_public = toplevel,
                 .type = enum_const_type_node,
+                // TODO: as of LLVM 18, the return value from `enum_const.getInitVal` here needs
+                // to be freed with a call to its free() method.
                 .value = try transCreateNodeAPInt(c, enum_const.getInitVal()),
             });
             if (toplevel)
src/zig_clang.cpp
@@ -398,478 +398,479 @@ static_assert((clang::Type::TypeClass)ZigClangType_ExtVector == clang::Type::Ext
 void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
     switch (x) {
         case clang::Stmt::NoStmtClass:
-        case clang::Stmt::GCCAsmStmtClass:
-        case clang::Stmt::MSAsmStmtClass:
-        case clang::Stmt::BreakStmtClass:
-        case clang::Stmt::CXXCatchStmtClass:
-        case clang::Stmt::CXXForRangeStmtClass:
-        case clang::Stmt::CXXTryStmtClass:
-        case clang::Stmt::CapturedStmtClass:
-        case clang::Stmt::CompoundStmtClass:
-        case clang::Stmt::ContinueStmtClass:
-        case clang::Stmt::CoreturnStmtClass:
-        case clang::Stmt::CoroutineBodyStmtClass:
-        case clang::Stmt::DeclStmtClass:
-        case clang::Stmt::DoStmtClass:
-        case clang::Stmt::ForStmtClass:
-        case clang::Stmt::GotoStmtClass:
-        case clang::Stmt::IfStmtClass:
-        case clang::Stmt::IndirectGotoStmtClass:
-        case clang::Stmt::MSDependentExistsStmtClass:
-        case clang::Stmt::NullStmtClass:
-        case clang::Stmt::OMPCanonicalLoopClass:
-        case clang::Stmt::OMPAtomicDirectiveClass:
-        case clang::Stmt::OMPBarrierDirectiveClass:
-        case clang::Stmt::OMPCancelDirectiveClass:
-        case clang::Stmt::OMPCancellationPointDirectiveClass:
-        case clang::Stmt::OMPCriticalDirectiveClass:
-        case clang::Stmt::OMPDepobjDirectiveClass:
-        case clang::Stmt::OMPDispatchDirectiveClass:
-        case clang::Stmt::OMPErrorDirectiveClass:
-        case clang::Stmt::OMPFlushDirectiveClass:
-        case clang::Stmt::OMPInteropDirectiveClass:
-        case clang::Stmt::OMPDistributeDirectiveClass:
-        case clang::Stmt::OMPDistributeParallelForDirectiveClass:
-        case clang::Stmt::OMPDistributeParallelForSimdDirectiveClass:
-        case clang::Stmt::OMPDistributeSimdDirectiveClass:
-        case clang::Stmt::OMPForDirectiveClass:
-        case clang::Stmt::OMPForSimdDirectiveClass:
-        case clang::Stmt::OMPGenericLoopDirectiveClass:
-        case clang::Stmt::OMPMaskedTaskLoopDirectiveClass:
-        case clang::Stmt::OMPMaskedTaskLoopSimdDirectiveClass:
-        case clang::Stmt::OMPMasterTaskLoopDirectiveClass:
-        case clang::Stmt::OMPMasterTaskLoopSimdDirectiveClass:
-        case clang::Stmt::OMPParallelForDirectiveClass:
-        case clang::Stmt::OMPParallelForSimdDirectiveClass:
-        case clang::Stmt::OMPParallelGenericLoopDirectiveClass:
-        case clang::Stmt::OMPParallelMaskedTaskLoopDirectiveClass:
-        case clang::Stmt::OMPParallelMaskedTaskLoopSimdDirectiveClass:
-        case clang::Stmt::OMPParallelMasterTaskLoopDirectiveClass:
-        case clang::Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass:
-        case clang::Stmt::OMPSimdDirectiveClass:
-        case clang::Stmt::OMPTargetParallelForSimdDirectiveClass:
-        case clang::Stmt::OMPTargetParallelGenericLoopDirectiveClass:
-        case clang::Stmt::OMPTargetSimdDirectiveClass:
-        case clang::Stmt::OMPTargetTeamsDistributeDirectiveClass:
-        case clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
-        case clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
-        case clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass:
-        case clang::Stmt::OMPTargetTeamsGenericLoopDirectiveClass:
-        case clang::Stmt::OMPTaskLoopDirectiveClass:
-        case clang::Stmt::OMPTaskLoopSimdDirectiveClass:
-        case clang::Stmt::OMPTeamsDistributeDirectiveClass:
-        case clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass:
-        case clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
-        case clang::Stmt::OMPTeamsDistributeSimdDirectiveClass:
-        case clang::Stmt::OMPTeamsGenericLoopDirectiveClass:
-        case clang::Stmt::OMPTileDirectiveClass:
-        case clang::Stmt::OMPUnrollDirectiveClass:
-        case clang::Stmt::OMPMaskedDirectiveClass:
-        case clang::Stmt::OMPMasterDirectiveClass:
-        case clang::Stmt::OMPMetaDirectiveClass:
-        case clang::Stmt::OMPOrderedDirectiveClass:
-        case clang::Stmt::OMPParallelDirectiveClass:
-        case clang::Stmt::OMPParallelMaskedDirectiveClass:
-        case clang::Stmt::OMPParallelMasterDirectiveClass:
-        case clang::Stmt::OMPParallelSectionsDirectiveClass:
-        case clang::Stmt::OMPScanDirectiveClass:
-        case clang::Stmt::OMPSectionDirectiveClass:
-        case clang::Stmt::OMPSectionsDirectiveClass:
-        case clang::Stmt::OMPSingleDirectiveClass:
-        case clang::Stmt::OMPTargetDataDirectiveClass:
-        case clang::Stmt::OMPTargetDirectiveClass:
-        case clang::Stmt::OMPTargetEnterDataDirectiveClass:
-        case clang::Stmt::OMPTargetExitDataDirectiveClass:
-        case clang::Stmt::OMPTargetParallelDirectiveClass:
-        case clang::Stmt::OMPTargetParallelForDirectiveClass:
-        case clang::Stmt::OMPTargetTeamsDirectiveClass:
-        case clang::Stmt::OMPTargetUpdateDirectiveClass:
-        case clang::Stmt::OMPTaskDirectiveClass:
-        case clang::Stmt::OMPTaskgroupDirectiveClass:
-        case clang::Stmt::OMPTaskwaitDirectiveClass:
-        case clang::Stmt::OMPTaskyieldDirectiveClass:
-        case clang::Stmt::OMPTeamsDirectiveClass:
-        case clang::Stmt::ObjCAtCatchStmtClass:
-        case clang::Stmt::ObjCAtFinallyStmtClass:
-        case clang::Stmt::ObjCAtSynchronizedStmtClass:
-        case clang::Stmt::ObjCAtThrowStmtClass:
-        case clang::Stmt::ObjCAtTryStmtClass:
-        case clang::Stmt::ObjCAutoreleasePoolStmtClass:
-        case clang::Stmt::ObjCForCollectionStmtClass:
-        case clang::Stmt::ReturnStmtClass:
-        case clang::Stmt::SEHExceptStmtClass:
-        case clang::Stmt::SEHFinallyStmtClass:
-        case clang::Stmt::SEHLeaveStmtClass:
-        case clang::Stmt::SEHTryStmtClass:
-        case clang::Stmt::CaseStmtClass:
-        case clang::Stmt::DefaultStmtClass:
-        case clang::Stmt::SwitchStmtClass:
-        case clang::Stmt::AttributedStmtClass:
-        case clang::Stmt::BinaryConditionalOperatorClass:
-        case clang::Stmt::ConditionalOperatorClass:
-        case clang::Stmt::AddrLabelExprClass:
-        case clang::Stmt::ArrayInitIndexExprClass:
-        case clang::Stmt::ArrayInitLoopExprClass:
-        case clang::Stmt::ArraySubscriptExprClass:
-        case clang::Stmt::ArrayTypeTraitExprClass:
-        case clang::Stmt::AsTypeExprClass:
-        case clang::Stmt::AtomicExprClass:
-        case clang::Stmt::BinaryOperatorClass:
-        case clang::Stmt::CompoundAssignOperatorClass:
-        case clang::Stmt::BlockExprClass:
-        case clang::Stmt::CXXBindTemporaryExprClass:
-        case clang::Stmt::CXXBoolLiteralExprClass:
-        case clang::Stmt::CXXConstructExprClass:
-        case clang::Stmt::CXXTemporaryObjectExprClass:
-        case clang::Stmt::CXXDefaultArgExprClass:
-        case clang::Stmt::CXXDefaultInitExprClass:
-        case clang::Stmt::CXXDeleteExprClass:
-        case clang::Stmt::CXXDependentScopeMemberExprClass:
-        case clang::Stmt::CXXFoldExprClass:
-        case clang::Stmt::CXXInheritedCtorInitExprClass:
-        case clang::Stmt::CXXNewExprClass:
-        case clang::Stmt::CXXNoexceptExprClass:
-        case clang::Stmt::CXXNullPtrLiteralExprClass:
-        case clang::Stmt::CXXParenListInitExprClass:
-        case clang::Stmt::CXXPseudoDestructorExprClass:
-        case clang::Stmt::CXXRewrittenBinaryOperatorClass:
-        case clang::Stmt::CXXScalarValueInitExprClass:
-        case clang::Stmt::CXXStdInitializerListExprClass:
-        case clang::Stmt::CXXThisExprClass:
-        case clang::Stmt::CXXThrowExprClass:
-        case clang::Stmt::CXXTypeidExprClass:
-        case clang::Stmt::CXXUnresolvedConstructExprClass:
-        case clang::Stmt::CXXUuidofExprClass:
+        case clang::Stmt::WhileStmtClass:
+        case clang::Stmt::LabelStmtClass:
+        case clang::Stmt::VAArgExprClass:
+        case clang::Stmt::UnaryOperatorClass:
+        case clang::Stmt::UnaryExprOrTypeTraitExprClass:
+        case clang::Stmt::TypoExprClass:
+        case clang::Stmt::TypeTraitExprClass:
+        case clang::Stmt::SubstNonTypeTemplateParmPackExprClass:
+        case clang::Stmt::SubstNonTypeTemplateParmExprClass:
+        case clang::Stmt::StringLiteralClass:
+        case clang::Stmt::StmtExprClass:
+        case clang::Stmt::SourceLocExprClass:
+        case clang::Stmt::SizeOfPackExprClass:
+        case clang::Stmt::ShuffleVectorExprClass:
+        case clang::Stmt::SYCLUniqueStableNameExprClass:
+        case clang::Stmt::RequiresExprClass:
+        case clang::Stmt::RecoveryExprClass:
+        case clang::Stmt::PseudoObjectExprClass:
+        case clang::Stmt::PredefinedExprClass:
+        case clang::Stmt::ParenListExprClass:
+        case clang::Stmt::ParenExprClass:
+        case clang::Stmt::PackExpansionExprClass:
+        case clang::Stmt::UnresolvedMemberExprClass:
+        case clang::Stmt::UnresolvedLookupExprClass:
+        case clang::Stmt::OpaqueValueExprClass:
+        case clang::Stmt::OffsetOfExprClass:
+        case clang::Stmt::ObjCSubscriptRefExprClass:
+        case clang::Stmt::ObjCStringLiteralClass:
+        case clang::Stmt::ObjCSelectorExprClass:
+        case clang::Stmt::ObjCProtocolExprClass:
+        case clang::Stmt::ObjCPropertyRefExprClass:
+        case clang::Stmt::ObjCMessageExprClass:
+        case clang::Stmt::ObjCIvarRefExprClass:
+        case clang::Stmt::ObjCIsaExprClass:
+        case clang::Stmt::ObjCIndirectCopyRestoreExprClass:
+        case clang::Stmt::ObjCEncodeExprClass:
+        case clang::Stmt::ObjCDictionaryLiteralClass:
+        case clang::Stmt::ObjCBoxedExprClass:
+        case clang::Stmt::ObjCBoolLiteralExprClass:
+        case clang::Stmt::ObjCAvailabilityCheckExprClass:
+        case clang::Stmt::ObjCArrayLiteralClass:
+        case clang::Stmt::OMPIteratorExprClass:
+        case clang::Stmt::OMPArrayShapingExprClass:
+        case clang::Stmt::OMPArraySectionExprClass:
+        case clang::Stmt::NoInitExprClass:
+        case clang::Stmt::MemberExprClass:
+        case clang::Stmt::MatrixSubscriptExprClass:
+        case clang::Stmt::MaterializeTemporaryExprClass:
+        case clang::Stmt::MSPropertySubscriptExprClass:
+        case clang::Stmt::MSPropertyRefExprClass:
+        case clang::Stmt::LambdaExprClass:
+        case clang::Stmt::IntegerLiteralClass:
+        case clang::Stmt::InitListExprClass:
+        case clang::Stmt::ImplicitValueInitExprClass:
+        case clang::Stmt::ImaginaryLiteralClass:
+        case clang::Stmt::GenericSelectionExprClass:
+        case clang::Stmt::GNUNullExprClass:
+        case clang::Stmt::FunctionParmPackExprClass:
+        case clang::Stmt::ExprWithCleanupsClass:
+        case clang::Stmt::ConstantExprClass:
+        case clang::Stmt::FloatingLiteralClass:
+        case clang::Stmt::FixedPointLiteralClass:
+        case clang::Stmt::ExtVectorElementExprClass:
+        case clang::Stmt::ExpressionTraitExprClass:
+        case clang::Stmt::DesignatedInitUpdateExprClass:
+        case clang::Stmt::DesignatedInitExprClass:
+        case clang::Stmt::DependentScopeDeclRefExprClass:
+        case clang::Stmt::DependentCoawaitExprClass:
+        case clang::Stmt::DeclRefExprClass:
+        case clang::Stmt::CoyieldExprClass:
+        case clang::Stmt::CoawaitExprClass:
+        case clang::Stmt::ConvertVectorExprClass:
+        case clang::Stmt::ConceptSpecializationExprClass:
+        case clang::Stmt::CompoundLiteralExprClass:
+        case clang::Stmt::ChooseExprClass:
+        case clang::Stmt::CharacterLiteralClass:
+        case clang::Stmt::ImplicitCastExprClass:
+        case clang::Stmt::ObjCBridgedCastExprClass:
+        case clang::Stmt::CXXStaticCastExprClass:
+        case clang::Stmt::CXXReinterpretCastExprClass:
+        case clang::Stmt::CXXDynamicCastExprClass:
+        case clang::Stmt::CXXConstCastExprClass:
+        case clang::Stmt::CXXAddrspaceCastExprClass:
+        case clang::Stmt::CXXFunctionalCastExprClass:
+        case clang::Stmt::CStyleCastExprClass:
+        case clang::Stmt::BuiltinBitCastExprClass:
         case clang::Stmt::CallExprClass:
-        case clang::Stmt::CUDAKernelCallExprClass:
-        case clang::Stmt::CXXMemberCallExprClass:
-        case clang::Stmt::CXXOperatorCallExprClass:
         case clang::Stmt::UserDefinedLiteralClass:
-        case clang::Stmt::BuiltinBitCastExprClass:
-        case clang::Stmt::CStyleCastExprClass:
-        case clang::Stmt::CXXFunctionalCastExprClass:
-        case clang::Stmt::CXXAddrspaceCastExprClass:
-        case clang::Stmt::CXXConstCastExprClass:
-        case clang::Stmt::CXXDynamicCastExprClass:
-        case clang::Stmt::CXXReinterpretCastExprClass:
-        case clang::Stmt::CXXStaticCastExprClass:
-        case clang::Stmt::ObjCBridgedCastExprClass:
-        case clang::Stmt::ImplicitCastExprClass:
-        case clang::Stmt::CharacterLiteralClass:
-        case clang::Stmt::ChooseExprClass:
-        case clang::Stmt::CompoundLiteralExprClass:
-        case clang::Stmt::ConceptSpecializationExprClass:
-        case clang::Stmt::ConvertVectorExprClass:
-        case clang::Stmt::CoawaitExprClass:
-        case clang::Stmt::CoyieldExprClass:
-        case clang::Stmt::DeclRefExprClass:
-        case clang::Stmt::DependentCoawaitExprClass:
-        case clang::Stmt::DependentScopeDeclRefExprClass:
-        case clang::Stmt::DesignatedInitExprClass:
-        case clang::Stmt::DesignatedInitUpdateExprClass:
-        case clang::Stmt::ExpressionTraitExprClass:
-        case clang::Stmt::ExtVectorElementExprClass:
-        case clang::Stmt::FixedPointLiteralClass:
-        case clang::Stmt::FloatingLiteralClass:
-        case clang::Stmt::ConstantExprClass:
-        case clang::Stmt::ExprWithCleanupsClass:
-        case clang::Stmt::FunctionParmPackExprClass:
-        case clang::Stmt::GNUNullExprClass:
-        case clang::Stmt::GenericSelectionExprClass:
-        case clang::Stmt::ImaginaryLiteralClass:
-        case clang::Stmt::ImplicitValueInitExprClass:
-        case clang::Stmt::InitListExprClass:
-        case clang::Stmt::IntegerLiteralClass:
-        case clang::Stmt::LambdaExprClass:
-        case clang::Stmt::MSPropertyRefExprClass:
-        case clang::Stmt::MSPropertySubscriptExprClass:
-        case clang::Stmt::MaterializeTemporaryExprClass:
-        case clang::Stmt::MatrixSubscriptExprClass:
-        case clang::Stmt::MemberExprClass:
-        case clang::Stmt::NoInitExprClass:
-        case clang::Stmt::OMPArraySectionExprClass:
-        case clang::Stmt::OMPArrayShapingExprClass:
-        case clang::Stmt::OMPIteratorExprClass:
-        case clang::Stmt::ObjCArrayLiteralClass:
-        case clang::Stmt::ObjCAvailabilityCheckExprClass:
-        case clang::Stmt::ObjCBoolLiteralExprClass:
-        case clang::Stmt::ObjCBoxedExprClass:
-        case clang::Stmt::ObjCDictionaryLiteralClass:
-        case clang::Stmt::ObjCEncodeExprClass:
-        case clang::Stmt::ObjCIndirectCopyRestoreExprClass:
-        case clang::Stmt::ObjCIsaExprClass:
-        case clang::Stmt::ObjCIvarRefExprClass:
-        case clang::Stmt::ObjCMessageExprClass:
-        case clang::Stmt::ObjCPropertyRefExprClass:
-        case clang::Stmt::ObjCProtocolExprClass:
-        case clang::Stmt::ObjCSelectorExprClass:
-        case clang::Stmt::ObjCStringLiteralClass:
-        case clang::Stmt::ObjCSubscriptRefExprClass:
-        case clang::Stmt::OffsetOfExprClass:
-        case clang::Stmt::OpaqueValueExprClass:
-        case clang::Stmt::UnresolvedLookupExprClass:
-        case clang::Stmt::UnresolvedMemberExprClass:
-        case clang::Stmt::PackExpansionExprClass:
-        case clang::Stmt::ParenExprClass:
-        case clang::Stmt::ParenListExprClass:
-        case clang::Stmt::PredefinedExprClass:
-        case clang::Stmt::PseudoObjectExprClass:
-        case clang::Stmt::RecoveryExprClass:
-        case clang::Stmt::RequiresExprClass:
-        case clang::Stmt::SYCLUniqueStableNameExprClass:
-        case clang::Stmt::ShuffleVectorExprClass:
-        case clang::Stmt::SizeOfPackExprClass:
-        case clang::Stmt::SourceLocExprClass:
-        case clang::Stmt::StmtExprClass:
-        case clang::Stmt::StringLiteralClass:
-        case clang::Stmt::SubstNonTypeTemplateParmExprClass:
-        case clang::Stmt::SubstNonTypeTemplateParmPackExprClass:
-        case clang::Stmt::TypeTraitExprClass:
-        case clang::Stmt::TypoExprClass:
-        case clang::Stmt::UnaryExprOrTypeTraitExprClass:
-        case clang::Stmt::UnaryOperatorClass:
-        case clang::Stmt::VAArgExprClass:
-        case clang::Stmt::LabelStmtClass:
-        case clang::Stmt::WhileStmtClass:
+        case clang::Stmt::CXXOperatorCallExprClass:
+        case clang::Stmt::CXXMemberCallExprClass:
+        case clang::Stmt::CUDAKernelCallExprClass:
+        case clang::Stmt::CXXUuidofExprClass:
+        case clang::Stmt::CXXUnresolvedConstructExprClass:
+        case clang::Stmt::CXXTypeidExprClass:
+        case clang::Stmt::CXXThrowExprClass:
+        case clang::Stmt::CXXThisExprClass:
+        case clang::Stmt::CXXStdInitializerListExprClass:
+        case clang::Stmt::CXXScalarValueInitExprClass:
+        case clang::Stmt::CXXRewrittenBinaryOperatorClass:
+        case clang::Stmt::CXXPseudoDestructorExprClass:
+        case clang::Stmt::CXXParenListInitExprClass:
+        case clang::Stmt::CXXNullPtrLiteralExprClass:
+        case clang::Stmt::CXXNoexceptExprClass:
+        case clang::Stmt::CXXNewExprClass:
+        case clang::Stmt::CXXInheritedCtorInitExprClass:
+        case clang::Stmt::CXXFoldExprClass:
+        case clang::Stmt::CXXDependentScopeMemberExprClass:
+        case clang::Stmt::CXXDeleteExprClass:
+        case clang::Stmt::CXXDefaultInitExprClass:
+        case clang::Stmt::CXXDefaultArgExprClass:
+        case clang::Stmt::CXXConstructExprClass:
+        case clang::Stmt::CXXTemporaryObjectExprClass:
+        case clang::Stmt::CXXBoolLiteralExprClass:
+        case clang::Stmt::CXXBindTemporaryExprClass:
+        case clang::Stmt::BlockExprClass:
+        case clang::Stmt::BinaryOperatorClass:
+        case clang::Stmt::CompoundAssignOperatorClass:
+        case clang::Stmt::AtomicExprClass:
+        case clang::Stmt::AsTypeExprClass:
+        case clang::Stmt::ArrayTypeTraitExprClass:
+        case clang::Stmt::ArraySubscriptExprClass:
+        case clang::Stmt::ArrayInitLoopExprClass:
+        case clang::Stmt::ArrayInitIndexExprClass:
+        case clang::Stmt::AddrLabelExprClass:
+        case clang::Stmt::ConditionalOperatorClass:
+        case clang::Stmt::BinaryConditionalOperatorClass:
+        case clang::Stmt::AttributedStmtClass:
+        case clang::Stmt::SwitchStmtClass:
+        case clang::Stmt::DefaultStmtClass:
+        case clang::Stmt::CaseStmtClass:
+        case clang::Stmt::SEHTryStmtClass:
+        case clang::Stmt::SEHLeaveStmtClass:
+        case clang::Stmt::SEHFinallyStmtClass:
+        case clang::Stmt::SEHExceptStmtClass:
+        case clang::Stmt::ReturnStmtClass:
+        case clang::Stmt::ObjCForCollectionStmtClass:
+        case clang::Stmt::ObjCAutoreleasePoolStmtClass:
+        case clang::Stmt::ObjCAtTryStmtClass:
+        case clang::Stmt::ObjCAtThrowStmtClass:
+        case clang::Stmt::ObjCAtSynchronizedStmtClass:
+        case clang::Stmt::ObjCAtFinallyStmtClass:
+        case clang::Stmt::ObjCAtCatchStmtClass:
+        case clang::Stmt::OMPTeamsDirectiveClass:
+        case clang::Stmt::OMPTaskyieldDirectiveClass:
+        case clang::Stmt::OMPTaskwaitDirectiveClass:
+        case clang::Stmt::OMPTaskgroupDirectiveClass:
+        case clang::Stmt::OMPTaskDirectiveClass:
+        case clang::Stmt::OMPTargetUpdateDirectiveClass:
+        case clang::Stmt::OMPTargetTeamsDirectiveClass:
+        case clang::Stmt::OMPTargetParallelForDirectiveClass:
+        case clang::Stmt::OMPTargetParallelDirectiveClass:
+        case clang::Stmt::OMPTargetExitDataDirectiveClass:
+        case clang::Stmt::OMPTargetEnterDataDirectiveClass:
+        case clang::Stmt::OMPTargetDirectiveClass:
+        case clang::Stmt::OMPTargetDataDirectiveClass:
+        case clang::Stmt::OMPSingleDirectiveClass:
+        case clang::Stmt::OMPSectionsDirectiveClass:
+        case clang::Stmt::OMPSectionDirectiveClass:
+        case clang::Stmt::OMPScopeDirectiveClass:
+        case clang::Stmt::OMPScanDirectiveClass:
+        case clang::Stmt::OMPParallelSectionsDirectiveClass:
+        case clang::Stmt::OMPParallelMasterDirectiveClass:
+        case clang::Stmt::OMPParallelMaskedDirectiveClass:
+        case clang::Stmt::OMPParallelDirectiveClass:
+        case clang::Stmt::OMPOrderedDirectiveClass:
+        case clang::Stmt::OMPMetaDirectiveClass:
+        case clang::Stmt::OMPMasterDirectiveClass:
+        case clang::Stmt::OMPMaskedDirectiveClass:
+        case clang::Stmt::OMPUnrollDirectiveClass:
+        case clang::Stmt::OMPTileDirectiveClass:
+        case clang::Stmt::OMPTeamsGenericLoopDirectiveClass:
+        case clang::Stmt::OMPTeamsDistributeSimdDirectiveClass:
+        case clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
+        case clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass:
+        case clang::Stmt::OMPTeamsDistributeDirectiveClass:
+        case clang::Stmt::OMPTaskLoopSimdDirectiveClass:
+        case clang::Stmt::OMPTaskLoopDirectiveClass:
+        case clang::Stmt::OMPTargetTeamsGenericLoopDirectiveClass:
+        case clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass:
+        case clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
+        case clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
+        case clang::Stmt::OMPTargetTeamsDistributeDirectiveClass:
+        case clang::Stmt::OMPTargetSimdDirectiveClass:
+        case clang::Stmt::OMPTargetParallelGenericLoopDirectiveClass:
+        case clang::Stmt::OMPTargetParallelForSimdDirectiveClass:
+        case clang::Stmt::OMPSimdDirectiveClass:
+        case clang::Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass:
+        case clang::Stmt::OMPParallelMasterTaskLoopDirectiveClass:
+        case clang::Stmt::OMPParallelMaskedTaskLoopSimdDirectiveClass:
+        case clang::Stmt::OMPParallelMaskedTaskLoopDirectiveClass:
+        case clang::Stmt::OMPParallelGenericLoopDirectiveClass:
+        case clang::Stmt::OMPParallelForSimdDirectiveClass:
+        case clang::Stmt::OMPParallelForDirectiveClass:
+        case clang::Stmt::OMPMasterTaskLoopSimdDirectiveClass:
+        case clang::Stmt::OMPMasterTaskLoopDirectiveClass:
+        case clang::Stmt::OMPMaskedTaskLoopSimdDirectiveClass:
+        case clang::Stmt::OMPMaskedTaskLoopDirectiveClass:
+        case clang::Stmt::OMPGenericLoopDirectiveClass:
+        case clang::Stmt::OMPForSimdDirectiveClass:
+        case clang::Stmt::OMPForDirectiveClass:
+        case clang::Stmt::OMPDistributeSimdDirectiveClass:
+        case clang::Stmt::OMPDistributeParallelForSimdDirectiveClass:
+        case clang::Stmt::OMPDistributeParallelForDirectiveClass:
+        case clang::Stmt::OMPDistributeDirectiveClass:
+        case clang::Stmt::OMPInteropDirectiveClass:
+        case clang::Stmt::OMPFlushDirectiveClass:
+        case clang::Stmt::OMPErrorDirectiveClass:
+        case clang::Stmt::OMPDispatchDirectiveClass:
+        case clang::Stmt::OMPDepobjDirectiveClass:
+        case clang::Stmt::OMPCriticalDirectiveClass:
+        case clang::Stmt::OMPCancellationPointDirectiveClass:
+        case clang::Stmt::OMPCancelDirectiveClass:
+        case clang::Stmt::OMPBarrierDirectiveClass:
+        case clang::Stmt::OMPAtomicDirectiveClass:
+        case clang::Stmt::OMPCanonicalLoopClass:
+        case clang::Stmt::NullStmtClass:
+        case clang::Stmt::MSDependentExistsStmtClass:
+        case clang::Stmt::IndirectGotoStmtClass:
+        case clang::Stmt::IfStmtClass:
+        case clang::Stmt::GotoStmtClass:
+        case clang::Stmt::ForStmtClass:
+        case clang::Stmt::DoStmtClass:
+        case clang::Stmt::DeclStmtClass:
+        case clang::Stmt::CoroutineBodyStmtClass:
+        case clang::Stmt::CoreturnStmtClass:
+        case clang::Stmt::ContinueStmtClass:
+        case clang::Stmt::CompoundStmtClass:
+        case clang::Stmt::CapturedStmtClass:
+        case clang::Stmt::CXXTryStmtClass:
+        case clang::Stmt::CXXForRangeStmtClass:
+        case clang::Stmt::CXXCatchStmtClass:
+        case clang::Stmt::BreakStmtClass:
+        case clang::Stmt::MSAsmStmtClass:
+        case clang::Stmt::GCCAsmStmtClass:
             break;
     }
 }
 
 static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_GCCAsmStmtClass == clang::Stmt::GCCAsmStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSAsmStmtClass == clang::Stmt::MSAsmStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_BreakStmtClass == clang::Stmt::BreakStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXCatchStmtClass == clang::Stmt::CXXCatchStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXForRangeStmtClass == clang::Stmt::CXXForRangeStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTryStmtClass == clang::Stmt::CXXTryStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CapturedStmtClass == clang::Stmt::CapturedStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundStmtClass == clang::Stmt::CompoundStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ContinueStmtClass == clang::Stmt::ContinueStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoreturnStmtClass == clang::Stmt::CoreturnStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoroutineBodyStmtClass == clang::Stmt::CoroutineBodyStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DeclStmtClass == clang::Stmt::DeclStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DoStmtClass == clang::Stmt::DoStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ForStmtClass == clang::Stmt::ForStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_GotoStmtClass == clang::Stmt::GotoStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_IfStmtClass == clang::Stmt::IfStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_IndirectGotoStmtClass == clang::Stmt::IndirectGotoStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCanonicalLoopClass == clang::Stmt::OMPCanonicalLoopClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDepobjDirectiveClass == clang::Stmt::OMPDepobjDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDispatchDirectiveClass == clang::Stmt::OMPDispatchDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPErrorDirectiveClass == clang::Stmt::OMPErrorDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPInteropDirectiveClass == clang::Stmt::OMPInteropDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPDistributeParallelForSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeSimdDirectiveClass == clang::Stmt::OMPDistributeSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPForDirectiveClass == clang::Stmt::OMPForDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPForSimdDirectiveClass == clang::Stmt::OMPForSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPGenericLoopDirectiveClass == clang::Stmt::OMPGenericLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedTaskLoopDirectiveClass == clang::Stmt::OMPMaskedTaskLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedTaskLoopSimdDirectiveClass == clang::Stmt::OMPMaskedTaskLoopSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterTaskLoopDirectiveClass == clang::Stmt::OMPMasterTaskLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterTaskLoopSimdDirectiveClass == clang::Stmt::OMPMasterTaskLoopSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelForDirectiveClass == clang::Stmt::OMPParallelForDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelForSimdDirectiveClass == clang::Stmt::OMPParallelForSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelGenericLoopDirectiveClass == clang::Stmt::OMPParallelGenericLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMaskedTaskLoopDirectiveClass == clang::Stmt::OMPParallelMaskedTaskLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMaskedTaskLoopSimdDirectiveClass == clang::Stmt::OMPParallelMaskedTaskLoopSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterTaskLoopDirectiveClass == clang::Stmt::OMPParallelMasterTaskLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterTaskLoopSimdDirectiveClass == clang::Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSimdDirectiveClass == clang::Stmt::OMPSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelForSimdDirectiveClass == clang::Stmt::OMPTargetParallelForSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelGenericLoopDirectiveClass == clang::Stmt::OMPTargetParallelGenericLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetSimdDirectiveClass == clang::Stmt::OMPTargetSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsGenericLoopDirectiveClass == clang::Stmt::OMPTargetTeamsGenericLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskLoopDirectiveClass == clang::Stmt::OMPTaskLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskLoopSimdDirectiveClass == clang::Stmt::OMPTaskLoopSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeDirectiveClass == clang::Stmt::OMPTeamsDistributeDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsGenericLoopDirectiveClass == clang::Stmt::OMPTeamsGenericLoopDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTileDirectiveClass == clang::Stmt::OMPTileDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPUnrollDirectiveClass == clang::Stmt::OMPUnrollDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedDirectiveClass == clang::Stmt::OMPMaskedDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == clang::Stmt::OMPMasterDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMetaDirectiveClass == clang::Stmt::OMPMetaDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == clang::Stmt::OMPOrderedDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMaskedDirectiveClass == clang::Stmt::OMPParallelMaskedDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterDirectiveClass == clang::Stmt::OMPParallelMasterDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelSectionsDirectiveClass == clang::Stmt::OMPParallelSectionsDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPScanDirectiveClass == clang::Stmt::OMPScanDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionDirectiveClass == clang::Stmt::OMPSectionDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionsDirectiveClass == clang::Stmt::OMPSectionsDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSingleDirectiveClass == clang::Stmt::OMPSingleDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetDataDirectiveClass == clang::Stmt::OMPTargetDataDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetDirectiveClass == clang::Stmt::OMPTargetDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetEnterDataDirectiveClass == clang::Stmt::OMPTargetEnterDataDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetExitDataDirectiveClass == clang::Stmt::OMPTargetExitDataDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelDirectiveClass == clang::Stmt::OMPTargetParallelDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelForDirectiveClass == clang::Stmt::OMPTargetParallelForDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDirectiveClass == clang::Stmt::OMPTargetTeamsDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetUpdateDirectiveClass == clang::Stmt::OMPTargetUpdateDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskDirectiveClass == clang::Stmt::OMPTaskDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskgroupDirectiveClass == clang::Stmt::OMPTaskgroupDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskwaitDirectiveClass == clang::Stmt::OMPTaskwaitDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskyieldDirectiveClass == clang::Stmt::OMPTaskyieldDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDirectiveClass == clang::Stmt::OMPTeamsDirectiveClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtCatchStmtClass == clang::Stmt::ObjCAtCatchStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtFinallyStmtClass == clang::Stmt::ObjCAtFinallyStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtSynchronizedStmtClass == clang::Stmt::ObjCAtSynchronizedStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtThrowStmtClass == clang::Stmt::ObjCAtThrowStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::Stmt::SEHLeaveStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHTryStmtClass == clang::Stmt::SEHTryStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CaseStmtClass == clang::Stmt::CaseStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DefaultStmtClass == clang::Stmt::DefaultStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SwitchStmtClass == clang::Stmt::SwitchStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_AttributedStmtClass == clang::Stmt::AttributedStmtClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryConditionalOperatorClass == clang::Stmt::BinaryConditionalOperatorClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConditionalOperatorClass == clang::Stmt::ConditionalOperatorClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_AddrLabelExprClass == clang::Stmt::AddrLabelExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitIndexExprClass == clang::Stmt::ArrayInitIndexExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitLoopExprClass == clang::Stmt::ArrayInitLoopExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArraySubscriptExprClass == clang::Stmt::ArraySubscriptExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayTypeTraitExprClass == clang::Stmt::ArrayTypeTraitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_AsTypeExprClass == clang::Stmt::AsTypeExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_AtomicExprClass == clang::Stmt::AtomicExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryOperatorClass == clang::Stmt::BinaryOperatorClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundAssignOperatorClass == clang::Stmt::CompoundAssignOperatorClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_BlockExprClass == clang::Stmt::BlockExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXBindTemporaryExprClass == clang::Stmt::CXXBindTemporaryExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXBoolLiteralExprClass == clang::Stmt::CXXBoolLiteralExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstructExprClass == clang::Stmt::CXXConstructExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTemporaryObjectExprClass == clang::Stmt::CXXTemporaryObjectExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDefaultArgExprClass == clang::Stmt::CXXDefaultArgExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDefaultInitExprClass == clang::Stmt::CXXDefaultInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDeleteExprClass == clang::Stmt::CXXDeleteExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDependentScopeMemberExprClass == clang::Stmt::CXXDependentScopeMemberExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFoldExprClass == clang::Stmt::CXXFoldExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXInheritedCtorInitExprClass == clang::Stmt::CXXInheritedCtorInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNewExprClass == clang::Stmt::CXXNewExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNoexceptExprClass == clang::Stmt::CXXNoexceptExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNullPtrLiteralExprClass == clang::Stmt::CXXNullPtrLiteralExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXParenListInitExprClass == clang::Stmt::CXXParenListInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXPseudoDestructorExprClass == clang::Stmt::CXXPseudoDestructorExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXRewrittenBinaryOperatorClass == clang::Stmt::CXXRewrittenBinaryOperatorClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXScalarValueInitExprClass == clang::Stmt::CXXScalarValueInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXStdInitializerListExprClass == clang::Stmt::CXXStdInitializerListExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXThisExprClass == clang::Stmt::CXXThisExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXThrowExprClass == clang::Stmt::CXXThrowExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTypeidExprClass == clang::Stmt::CXXTypeidExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXUnresolvedConstructExprClass == clang::Stmt::CXXUnresolvedConstructExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXUuidofExprClass == clang::Stmt::CXXUuidofExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CallExprClass == clang::Stmt::CallExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CUDAKernelCallExprClass == clang::Stmt::CUDAKernelCallExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXMemberCallExprClass == clang::Stmt::CXXMemberCallExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXOperatorCallExprClass == clang::Stmt::CXXOperatorCallExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_UserDefinedLiteralClass == clang::Stmt::UserDefinedLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_BuiltinBitCastExprClass == clang::Stmt::BuiltinBitCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFunctionalCastExprClass == clang::Stmt::CXXFunctionalCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXAddrspaceCastExprClass == clang::Stmt::CXXAddrspaceCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstCastExprClass == clang::Stmt::CXXConstCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDynamicCastExprClass == clang::Stmt::CXXDynamicCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXReinterpretCastExprClass == clang::Stmt::CXXReinterpretCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXStaticCastExprClass == clang::Stmt::CXXStaticCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBridgedCastExprClass == clang::Stmt::ObjCBridgedCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitCastExprClass == clang::Stmt::ImplicitCastExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CharacterLiteralClass == clang::Stmt::CharacterLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ChooseExprClass == clang::Stmt::ChooseExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundLiteralExprClass == clang::Stmt::CompoundLiteralExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConceptSpecializationExprClass == clang::Stmt::ConceptSpecializationExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConvertVectorExprClass == clang::Stmt::ConvertVectorExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoawaitExprClass == clang::Stmt::CoawaitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoyieldExprClass == clang::Stmt::CoyieldExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DeclRefExprClass == clang::Stmt::DeclRefExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentCoawaitExprClass == clang::Stmt::DependentCoawaitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentScopeDeclRefExprClass == clang::Stmt::DependentScopeDeclRefExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitExprClass == clang::Stmt::DesignatedInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitUpdateExprClass == clang::Stmt::DesignatedInitUpdateExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExpressionTraitExprClass == clang::Stmt::ExpressionTraitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExtVectorElementExprClass == clang::Stmt::ExtVectorElementExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_FixedPointLiteralClass == clang::Stmt::FixedPointLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_FloatingLiteralClass == clang::Stmt::FloatingLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConstantExprClass == clang::Stmt::ConstantExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExprWithCleanupsClass == clang::Stmt::ExprWithCleanupsClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_FunctionParmPackExprClass == clang::Stmt::FunctionParmPackExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_GNUNullExprClass == clang::Stmt::GNUNullExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_GenericSelectionExprClass == clang::Stmt::GenericSelectionExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImaginaryLiteralClass == clang::Stmt::ImaginaryLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitValueInitExprClass == clang::Stmt::ImplicitValueInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_InitListExprClass == clang::Stmt::InitListExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_IntegerLiteralClass == clang::Stmt::IntegerLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_LambdaExprClass == clang::Stmt::LambdaExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertyRefExprClass == clang::Stmt::MSPropertyRefExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertySubscriptExprClass == clang::Stmt::MSPropertySubscriptExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MaterializeTemporaryExprClass == clang::Stmt::MaterializeTemporaryExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MatrixSubscriptExprClass == clang::Stmt::MatrixSubscriptExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArrayShapingExprClass == clang::Stmt::OMPArrayShapingExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPIteratorExprClass == clang::Stmt::OMPIteratorExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClass == clang::Stmt::ObjCAvailabilityCheckExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoolLiteralExprClass == clang::Stmt::ObjCBoolLiteralExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoxedExprClass == clang::Stmt::ObjCBoxedExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCDictionaryLiteralClass == clang::Stmt::ObjCDictionaryLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCEncodeExprClass == clang::Stmt::ObjCEncodeExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIndirectCopyRestoreExprClass == clang::Stmt::ObjCIndirectCopyRestoreExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIsaExprClass == clang::Stmt::ObjCIsaExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIvarRefExprClass == clang::Stmt::ObjCIvarRefExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCMessageExprClass == clang::Stmt::ObjCMessageExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCPropertyRefExprClass == clang::Stmt::ObjCPropertyRefExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCProtocolExprClass == clang::Stmt::ObjCProtocolExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSelectorExprClass == clang::Stmt::ObjCSelectorExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCStringLiteralClass == clang::Stmt::ObjCStringLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSubscriptRefExprClass == clang::Stmt::ObjCSubscriptRefExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OffsetOfExprClass == clang::Stmt::OffsetOfExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpaqueValueExprClass == clang::Stmt::OpaqueValueExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt::ParenExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_RecoveryExprClass == clang::Stmt::RecoveryExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_RequiresExprClass == clang::Stmt::RequiresExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SYCLUniqueStableNameExprClass == clang::Stmt::SYCLUniqueStableNameExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SourceLocExprClass == clang::Stmt::SourceLocExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_StmtExprClass == clang::Stmt::StmtExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_StringLiteralClass == clang::Stmt::StringLiteralClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmExprClass == clang::Stmt::SubstNonTypeTemplateParmExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmPackExprClass == clang::Stmt::SubstNonTypeTemplateParmPackExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_TypeTraitExprClass == clang::Stmt::TypeTraitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_TypoExprClass == clang::Stmt::TypoExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnaryExprOrTypeTraitExprClass == clang::Stmt::UnaryExprOrTypeTraitExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnaryOperatorClass == clang::Stmt::UnaryOperatorClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_VAArgExprClass == clang::Stmt::VAArgExprClass, "");
-static_assert((clang::Stmt::StmtClass)ZigClangStmt_LabelStmtClass == clang::Stmt::LabelStmtClass, "");
 static_assert((clang::Stmt::StmtClass)ZigClangStmt_WhileStmtClass == clang::Stmt::WhileStmtClass, "");
-
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_LabelStmtClass == clang::Stmt::LabelStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_VAArgExprClass == clang::Stmt::VAArgExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnaryOperatorClass == clang::Stmt::UnaryOperatorClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnaryExprOrTypeTraitExprClass == clang::Stmt::UnaryExprOrTypeTraitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_TypoExprClass == clang::Stmt::TypoExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_TypeTraitExprClass == clang::Stmt::TypeTraitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmPackExprClass == clang::Stmt::SubstNonTypeTemplateParmPackExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmExprClass == clang::Stmt::SubstNonTypeTemplateParmExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_StringLiteralClass == clang::Stmt::StringLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_StmtExprClass == clang::Stmt::StmtExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SourceLocExprClass == clang::Stmt::SourceLocExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SYCLUniqueStableNameExprClass == clang::Stmt::SYCLUniqueStableNameExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_RequiresExprClass == clang::Stmt::RequiresExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_RecoveryExprClass == clang::Stmt::RecoveryExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt::ParenExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpaqueValueExprClass == clang::Stmt::OpaqueValueExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OffsetOfExprClass == clang::Stmt::OffsetOfExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSubscriptRefExprClass == clang::Stmt::ObjCSubscriptRefExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCStringLiteralClass == clang::Stmt::ObjCStringLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSelectorExprClass == clang::Stmt::ObjCSelectorExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCProtocolExprClass == clang::Stmt::ObjCProtocolExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCPropertyRefExprClass == clang::Stmt::ObjCPropertyRefExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCMessageExprClass == clang::Stmt::ObjCMessageExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIvarRefExprClass == clang::Stmt::ObjCIvarRefExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIsaExprClass == clang::Stmt::ObjCIsaExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIndirectCopyRestoreExprClass == clang::Stmt::ObjCIndirectCopyRestoreExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCEncodeExprClass == clang::Stmt::ObjCEncodeExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCDictionaryLiteralClass == clang::Stmt::ObjCDictionaryLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoxedExprClass == clang::Stmt::ObjCBoxedExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoolLiteralExprClass == clang::Stmt::ObjCBoolLiteralExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClass == clang::Stmt::ObjCAvailabilityCheckExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPIteratorExprClass == clang::Stmt::OMPIteratorExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArrayShapingExprClass == clang::Stmt::OMPArrayShapingExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MatrixSubscriptExprClass == clang::Stmt::MatrixSubscriptExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MaterializeTemporaryExprClass == clang::Stmt::MaterializeTemporaryExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertySubscriptExprClass == clang::Stmt::MSPropertySubscriptExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertyRefExprClass == clang::Stmt::MSPropertyRefExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_LambdaExprClass == clang::Stmt::LambdaExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_IntegerLiteralClass == clang::Stmt::IntegerLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_InitListExprClass == clang::Stmt::InitListExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitValueInitExprClass == clang::Stmt::ImplicitValueInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImaginaryLiteralClass == clang::Stmt::ImaginaryLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_GenericSelectionExprClass == clang::Stmt::GenericSelectionExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_GNUNullExprClass == clang::Stmt::GNUNullExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_FunctionParmPackExprClass == clang::Stmt::FunctionParmPackExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExprWithCleanupsClass == clang::Stmt::ExprWithCleanupsClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConstantExprClass == clang::Stmt::ConstantExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_FloatingLiteralClass == clang::Stmt::FloatingLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_FixedPointLiteralClass == clang::Stmt::FixedPointLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExtVectorElementExprClass == clang::Stmt::ExtVectorElementExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExpressionTraitExprClass == clang::Stmt::ExpressionTraitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitUpdateExprClass == clang::Stmt::DesignatedInitUpdateExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitExprClass == clang::Stmt::DesignatedInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentScopeDeclRefExprClass == clang::Stmt::DependentScopeDeclRefExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentCoawaitExprClass == clang::Stmt::DependentCoawaitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DeclRefExprClass == clang::Stmt::DeclRefExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoyieldExprClass == clang::Stmt::CoyieldExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoawaitExprClass == clang::Stmt::CoawaitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConvertVectorExprClass == clang::Stmt::ConvertVectorExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConceptSpecializationExprClass == clang::Stmt::ConceptSpecializationExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundLiteralExprClass == clang::Stmt::CompoundLiteralExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ChooseExprClass == clang::Stmt::ChooseExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CharacterLiteralClass == clang::Stmt::CharacterLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitCastExprClass == clang::Stmt::ImplicitCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBridgedCastExprClass == clang::Stmt::ObjCBridgedCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXStaticCastExprClass == clang::Stmt::CXXStaticCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXReinterpretCastExprClass == clang::Stmt::CXXReinterpretCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDynamicCastExprClass == clang::Stmt::CXXDynamicCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstCastExprClass == clang::Stmt::CXXConstCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXAddrspaceCastExprClass == clang::Stmt::CXXAddrspaceCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFunctionalCastExprClass == clang::Stmt::CXXFunctionalCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_BuiltinBitCastExprClass == clang::Stmt::BuiltinBitCastExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CallExprClass == clang::Stmt::CallExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_UserDefinedLiteralClass == clang::Stmt::UserDefinedLiteralClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXOperatorCallExprClass == clang::Stmt::CXXOperatorCallExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXMemberCallExprClass == clang::Stmt::CXXMemberCallExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CUDAKernelCallExprClass == clang::Stmt::CUDAKernelCallExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXUuidofExprClass == clang::Stmt::CXXUuidofExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXUnresolvedConstructExprClass == clang::Stmt::CXXUnresolvedConstructExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTypeidExprClass == clang::Stmt::CXXTypeidExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXThrowExprClass == clang::Stmt::CXXThrowExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXThisExprClass == clang::Stmt::CXXThisExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXStdInitializerListExprClass == clang::Stmt::CXXStdInitializerListExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXScalarValueInitExprClass == clang::Stmt::CXXScalarValueInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXRewrittenBinaryOperatorClass == clang::Stmt::CXXRewrittenBinaryOperatorClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXPseudoDestructorExprClass == clang::Stmt::CXXPseudoDestructorExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXParenListInitExprClass == clang::Stmt::CXXParenListInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNullPtrLiteralExprClass == clang::Stmt::CXXNullPtrLiteralExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNoexceptExprClass == clang::Stmt::CXXNoexceptExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNewExprClass == clang::Stmt::CXXNewExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXInheritedCtorInitExprClass == clang::Stmt::CXXInheritedCtorInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFoldExprClass == clang::Stmt::CXXFoldExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDependentScopeMemberExprClass == clang::Stmt::CXXDependentScopeMemberExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDeleteExprClass == clang::Stmt::CXXDeleteExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDefaultInitExprClass == clang::Stmt::CXXDefaultInitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDefaultArgExprClass == clang::Stmt::CXXDefaultArgExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstructExprClass == clang::Stmt::CXXConstructExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTemporaryObjectExprClass == clang::Stmt::CXXTemporaryObjectExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXBoolLiteralExprClass == clang::Stmt::CXXBoolLiteralExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXBindTemporaryExprClass == clang::Stmt::CXXBindTemporaryExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_BlockExprClass == clang::Stmt::BlockExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryOperatorClass == clang::Stmt::BinaryOperatorClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundAssignOperatorClass == clang::Stmt::CompoundAssignOperatorClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_AtomicExprClass == clang::Stmt::AtomicExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_AsTypeExprClass == clang::Stmt::AsTypeExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayTypeTraitExprClass == clang::Stmt::ArrayTypeTraitExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArraySubscriptExprClass == clang::Stmt::ArraySubscriptExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitLoopExprClass == clang::Stmt::ArrayInitLoopExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitIndexExprClass == clang::Stmt::ArrayInitIndexExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_AddrLabelExprClass == clang::Stmt::AddrLabelExprClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConditionalOperatorClass == clang::Stmt::ConditionalOperatorClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryConditionalOperatorClass == clang::Stmt::BinaryConditionalOperatorClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_AttributedStmtClass == clang::Stmt::AttributedStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SwitchStmtClass == clang::Stmt::SwitchStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DefaultStmtClass == clang::Stmt::DefaultStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CaseStmtClass == clang::Stmt::CaseStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHTryStmtClass == clang::Stmt::SEHTryStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::Stmt::SEHLeaveStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtThrowStmtClass == clang::Stmt::ObjCAtThrowStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtSynchronizedStmtClass == clang::Stmt::ObjCAtSynchronizedStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtFinallyStmtClass == clang::Stmt::ObjCAtFinallyStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtCatchStmtClass == clang::Stmt::ObjCAtCatchStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDirectiveClass == clang::Stmt::OMPTeamsDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskyieldDirectiveClass == clang::Stmt::OMPTaskyieldDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskwaitDirectiveClass == clang::Stmt::OMPTaskwaitDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskgroupDirectiveClass == clang::Stmt::OMPTaskgroupDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskDirectiveClass == clang::Stmt::OMPTaskDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetUpdateDirectiveClass == clang::Stmt::OMPTargetUpdateDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDirectiveClass == clang::Stmt::OMPTargetTeamsDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelForDirectiveClass == clang::Stmt::OMPTargetParallelForDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelDirectiveClass == clang::Stmt::OMPTargetParallelDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetExitDataDirectiveClass == clang::Stmt::OMPTargetExitDataDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetEnterDataDirectiveClass == clang::Stmt::OMPTargetEnterDataDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetDirectiveClass == clang::Stmt::OMPTargetDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetDataDirectiveClass == clang::Stmt::OMPTargetDataDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSingleDirectiveClass == clang::Stmt::OMPSingleDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionsDirectiveClass == clang::Stmt::OMPSectionsDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionDirectiveClass == clang::Stmt::OMPSectionDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPScopeDirectiveClass == clang::Stmt::OMPScopeDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPScanDirectiveClass == clang::Stmt::OMPScanDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelSectionsDirectiveClass == clang::Stmt::OMPParallelSectionsDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterDirectiveClass == clang::Stmt::OMPParallelMasterDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMaskedDirectiveClass == clang::Stmt::OMPParallelMaskedDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == clang::Stmt::OMPOrderedDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMetaDirectiveClass == clang::Stmt::OMPMetaDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == clang::Stmt::OMPMasterDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedDirectiveClass == clang::Stmt::OMPMaskedDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPUnrollDirectiveClass == clang::Stmt::OMPUnrollDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTileDirectiveClass == clang::Stmt::OMPTileDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsGenericLoopDirectiveClass == clang::Stmt::OMPTeamsGenericLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeDirectiveClass == clang::Stmt::OMPTeamsDistributeDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskLoopSimdDirectiveClass == clang::Stmt::OMPTaskLoopSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskLoopDirectiveClass == clang::Stmt::OMPTaskLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsGenericLoopDirectiveClass == clang::Stmt::OMPTargetTeamsGenericLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetSimdDirectiveClass == clang::Stmt::OMPTargetSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelGenericLoopDirectiveClass == clang::Stmt::OMPTargetParallelGenericLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelForSimdDirectiveClass == clang::Stmt::OMPTargetParallelForSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSimdDirectiveClass == clang::Stmt::OMPSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterTaskLoopSimdDirectiveClass == clang::Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterTaskLoopDirectiveClass == clang::Stmt::OMPParallelMasterTaskLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMaskedTaskLoopSimdDirectiveClass == clang::Stmt::OMPParallelMaskedTaskLoopSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMaskedTaskLoopDirectiveClass == clang::Stmt::OMPParallelMaskedTaskLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelGenericLoopDirectiveClass == clang::Stmt::OMPParallelGenericLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelForSimdDirectiveClass == clang::Stmt::OMPParallelForSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelForDirectiveClass == clang::Stmt::OMPParallelForDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterTaskLoopSimdDirectiveClass == clang::Stmt::OMPMasterTaskLoopSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterTaskLoopDirectiveClass == clang::Stmt::OMPMasterTaskLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedTaskLoopSimdDirectiveClass == clang::Stmt::OMPMaskedTaskLoopSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedTaskLoopDirectiveClass == clang::Stmt::OMPMaskedTaskLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPGenericLoopDirectiveClass == clang::Stmt::OMPGenericLoopDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPForSimdDirectiveClass == clang::Stmt::OMPForSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPForDirectiveClass == clang::Stmt::OMPForDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeSimdDirectiveClass == clang::Stmt::OMPDistributeSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPDistributeParallelForSimdDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPInteropDirectiveClass == clang::Stmt::OMPInteropDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPErrorDirectiveClass == clang::Stmt::OMPErrorDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDispatchDirectiveClass == clang::Stmt::OMPDispatchDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDepobjDirectiveClass == clang::Stmt::OMPDepobjDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCanonicalLoopClass == clang::Stmt::OMPCanonicalLoopClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_IndirectGotoStmtClass == clang::Stmt::IndirectGotoStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_IfStmtClass == clang::Stmt::IfStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_GotoStmtClass == clang::Stmt::GotoStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ForStmtClass == clang::Stmt::ForStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DoStmtClass == clang::Stmt::DoStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_DeclStmtClass == clang::Stmt::DeclStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoroutineBodyStmtClass == clang::Stmt::CoroutineBodyStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoreturnStmtClass == clang::Stmt::CoreturnStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_ContinueStmtClass == clang::Stmt::ContinueStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundStmtClass == clang::Stmt::CompoundStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CapturedStmtClass == clang::Stmt::CapturedStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTryStmtClass == clang::Stmt::CXXTryStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXForRangeStmtClass == clang::Stmt::CXXForRangeStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXCatchStmtClass == clang::Stmt::CXXCatchStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_BreakStmtClass == clang::Stmt::BreakStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSAsmStmtClass == clang::Stmt::MSAsmStmtClass, "");
+static_assert((clang::Stmt::StmtClass)ZigClangStmt_GCCAsmStmtClass == clang::Stmt::GCCAsmStmtClass, "");
 
 void ZigClang_detect_enum_APValueKind(clang::APValue::ValueKind x) {
     switch (x) {
@@ -909,184 +910,182 @@ static_assert((clang::APValue::ValueKind)ZigClangAPValueAddrLabelDiff == clang::
 
 void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
     switch (x) {
-        case clang::Decl::AccessSpec:
-        case clang::Decl::Block:
-        case clang::Decl::Captured:
-        case clang::Decl::ClassScopeFunctionSpecialization:
-        case clang::Decl::Empty:
-        case clang::Decl::Export:
-        case clang::Decl::ExternCContext:
-        case clang::Decl::FileScopeAsm:
-        case clang::Decl::Friend:
-        case clang::Decl::FriendTemplate:
-        case clang::Decl::ImplicitConceptSpecialization:
-        case clang::Decl::Import:
-        case clang::Decl::LifetimeExtendedTemporary:
+        case clang::Decl::TranslationUnit:
+        case clang::Decl::RequiresExprBody:
         case clang::Decl::LinkageSpec:
-        case clang::Decl::Using:
-        case clang::Decl::UsingEnum:
-        case clang::Decl::HLSLBuffer:
-        case clang::Decl::Label:
-        case clang::Decl::Namespace:
-        case clang::Decl::NamespaceAlias:
-        case clang::Decl::ObjCCompatibleAlias:
-        case clang::Decl::ObjCCategory:
-        case clang::Decl::ObjCCategoryImpl:
-        case clang::Decl::ObjCImplementation:
-        case clang::Decl::ObjCInterface:
-        case clang::Decl::ObjCProtocol:
-        case clang::Decl::ObjCMethod:
-        case clang::Decl::ObjCProperty:
-        case clang::Decl::BuiltinTemplate:
-        case clang::Decl::Concept:
-        case clang::Decl::ClassTemplate:
-        case clang::Decl::FunctionTemplate:
-        case clang::Decl::TypeAliasTemplate:
-        case clang::Decl::VarTemplate:
-        case clang::Decl::TemplateTemplateParm:
-        case clang::Decl::Enum:
-        case clang::Decl::Record:
-        case clang::Decl::CXXRecord:
-        case clang::Decl::ClassTemplateSpecialization:
-        case clang::Decl::ClassTemplatePartialSpecialization:
-        case clang::Decl::TemplateTypeParm:
-        case clang::Decl::ObjCTypeParam:
-        case clang::Decl::TypeAlias:
-        case clang::Decl::Typedef:
-        case clang::Decl::UnresolvedUsingTypename:
-        case clang::Decl::UnresolvedUsingIfExists:
-        case clang::Decl::UsingDirective:
-        case clang::Decl::UsingPack:
-        case clang::Decl::UsingShadow:
-        case clang::Decl::ConstructorUsingShadow:
-        case clang::Decl::Binding:
-        case clang::Decl::Field:
-        case clang::Decl::ObjCAtDefsField:
-        case clang::Decl::ObjCIvar:
+        case clang::Decl::ExternCContext:
+        case clang::Decl::Export:
+        case clang::Decl::Captured:
+        case clang::Decl::Block:
+        case clang::Decl::TopLevelStmt:
+        case clang::Decl::StaticAssert:
+        case clang::Decl::PragmaDetectMismatch:
+        case clang::Decl::PragmaComment:
+        case clang::Decl::ObjCPropertyImpl:
+        case clang::Decl::OMPThreadPrivate:
+        case clang::Decl::OMPRequires:
+        case clang::Decl::OMPAllocate:
+        case clang::Decl::ObjCMethod:
+        case clang::Decl::ObjCProtocol:
+        case clang::Decl::ObjCInterface:
+        case clang::Decl::ObjCImplementation:
+        case clang::Decl::ObjCCategoryImpl:
+        case clang::Decl::ObjCCategory:
+        case clang::Decl::Namespace:
+        case clang::Decl::HLSLBuffer:
+        case clang::Decl::OMPDeclareReduction:
+        case clang::Decl::OMPDeclareMapper:
+        case clang::Decl::UnresolvedUsingValue:
+        case clang::Decl::UnnamedGlobalConstant:
+        case clang::Decl::TemplateParamObject:
+        case clang::Decl::MSGuid:
+        case clang::Decl::IndirectField:
+        case clang::Decl::EnumConstant:
         case clang::Decl::Function:
-        case clang::Decl::CXXDeductionGuide:
         case clang::Decl::CXXMethod:
-        case clang::Decl::CXXConstructor:
-        case clang::Decl::CXXConversion:
         case clang::Decl::CXXDestructor:
-        case clang::Decl::MSProperty:
-        case clang::Decl::NonTypeTemplateParm:
+        case clang::Decl::CXXConversion:
+        case clang::Decl::CXXConstructor:
+        case clang::Decl::CXXDeductionGuide:
         case clang::Decl::Var:
-        case clang::Decl::Decomposition:
-        case clang::Decl::ImplicitParam:
-        case clang::Decl::OMPCapturedExpr:
-        case clang::Decl::ParmVar:
         case clang::Decl::VarTemplateSpecialization:
         case clang::Decl::VarTemplatePartialSpecialization:
-        case clang::Decl::EnumConstant:
-        case clang::Decl::IndirectField:
-        case clang::Decl::MSGuid:
-        case clang::Decl::OMPDeclareMapper:
-        case clang::Decl::OMPDeclareReduction:
-        case clang::Decl::TemplateParamObject:
-        case clang::Decl::UnnamedGlobalConstant:
-        case clang::Decl::UnresolvedUsingValue:
-        case clang::Decl::OMPAllocate:
-        case clang::Decl::OMPRequires:
-        case clang::Decl::OMPThreadPrivate:
-        case clang::Decl::ObjCPropertyImpl:
-        case clang::Decl::PragmaComment:
-        case clang::Decl::PragmaDetectMismatch:
-        case clang::Decl::RequiresExprBody:
-        case clang::Decl::StaticAssert:
-        case clang::Decl::TopLevelStmt:
-        case clang::Decl::TranslationUnit:
+        case clang::Decl::ParmVar:
+        case clang::Decl::OMPCapturedExpr:
+        case clang::Decl::ImplicitParam:
+        case clang::Decl::Decomposition:
+        case clang::Decl::NonTypeTemplateParm:
+        case clang::Decl::MSProperty:
+        case clang::Decl::Field:
+        case clang::Decl::ObjCIvar:
+        case clang::Decl::ObjCAtDefsField:
+        case clang::Decl::Binding:
+        case clang::Decl::UsingShadow:
+        case clang::Decl::ConstructorUsingShadow:
+        case clang::Decl::UsingPack:
+        case clang::Decl::UsingDirective:
+        case clang::Decl::UnresolvedUsingIfExists:
+        case clang::Decl::Record:
+        case clang::Decl::CXXRecord:
+        case clang::Decl::ClassTemplateSpecialization:
+        case clang::Decl::ClassTemplatePartialSpecialization:
+        case clang::Decl::Enum:
+        case clang::Decl::UnresolvedUsingTypename:
+        case clang::Decl::Typedef:
+        case clang::Decl::TypeAlias:
+        case clang::Decl::ObjCTypeParam:
+        case clang::Decl::TemplateTypeParm:
+        case clang::Decl::TemplateTemplateParm:
+        case clang::Decl::VarTemplate:
+        case clang::Decl::TypeAliasTemplate:
+        case clang::Decl::FunctionTemplate:
+        case clang::Decl::ClassTemplate:
+        case clang::Decl::Concept:
+        case clang::Decl::BuiltinTemplate:
+        case clang::Decl::ObjCProperty:
+        case clang::Decl::ObjCCompatibleAlias:
+        case clang::Decl::NamespaceAlias:
+        case clang::Decl::Label:
+        case clang::Decl::UsingEnum:
+        case clang::Decl::Using:
+        case clang::Decl::LifetimeExtendedTemporary:
+        case clang::Decl::Import:
+        case clang::Decl::ImplicitConceptSpecialization:
+        case clang::Decl::FriendTemplate:
+        case clang::Decl::Friend:
+        case clang::Decl::FileScopeAsm:
+        case clang::Decl::Empty:
+        case clang::Decl::AccessSpec:
             break;
     }
 }
 
-static_assert((clang::Decl::Kind)ZigClangDeclAccessSpec == clang::Decl::AccessSpec, "");
-static_assert((clang::Decl::Kind)ZigClangDeclBlock == clang::Decl::Block, "");
-static_assert((clang::Decl::Kind)ZigClangDeclCaptured == clang::Decl::Captured, "");
-static_assert((clang::Decl::Kind)ZigClangDeclClassScopeFunctionSpecialization == clang::Decl::ClassScopeFunctionSpecialization, "");
-static_assert((clang::Decl::Kind)ZigClangDeclEmpty == clang::Decl::Empty, "");
-static_assert((clang::Decl::Kind)ZigClangDeclExport == clang::Decl::Export, "");
-static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::ExternCContext, "");
-static_assert((clang::Decl::Kind)ZigClangDeclFileScopeAsm == clang::Decl::FileScopeAsm, "");
-static_assert((clang::Decl::Kind)ZigClangDeclFriend == clang::Decl::Friend, "");
-static_assert((clang::Decl::Kind)ZigClangDeclFriendTemplate == clang::Decl::FriendTemplate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclImplicitConceptSpecialization == clang::Decl::ImplicitConceptSpecialization, "");
-static_assert((clang::Decl::Kind)ZigClangDeclImport == clang::Decl::Import, "");
-static_assert((clang::Decl::Kind)ZigClangDeclLifetimeExtendedTemporary == clang::Decl::LifetimeExtendedTemporary, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");
+static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");
 static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUsingEnum == clang::Decl::UsingEnum, "");
-static_assert((clang::Decl::Kind)ZigClangDeclHLSLBuffer == clang::Decl::HLSLBuffer, "");
-static_assert((clang::Decl::Kind)ZigClangDeclLabel == clang::Decl::Label, "");
-static_assert((clang::Decl::Kind)ZigClangDeclNamespace == clang::Decl::Namespace, "");
-static_assert((clang::Decl::Kind)ZigClangDeclNamespaceAlias == clang::Decl::NamespaceAlias, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCCompatibleAlias == clang::Decl::ObjCCompatibleAlias, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCCategory == clang::Decl::ObjCCategory, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCCategoryImpl == clang::Decl::ObjCCategoryImpl, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCImplementation == clang::Decl::ObjCImplementation, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCInterface == clang::Decl::ObjCInterface, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCProtocol == clang::Decl::ObjCProtocol, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCMethod == clang::Decl::ObjCMethod, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCProperty == clang::Decl::ObjCProperty, "");
-static_assert((clang::Decl::Kind)ZigClangDeclBuiltinTemplate == clang::Decl::BuiltinTemplate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclConcept == clang::Decl::Concept, "");
-static_assert((clang::Decl::Kind)ZigClangDeclClassTemplate == clang::Decl::ClassTemplate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclFunctionTemplate == clang::Decl::FunctionTemplate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTypeAliasTemplate == clang::Decl::TypeAliasTemplate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclVarTemplate == clang::Decl::VarTemplate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTemplateTemplateParm == clang::Decl::TemplateTemplateParm, "");
-static_assert((clang::Decl::Kind)ZigClangDeclEnum == clang::Decl::Enum, "");
-static_assert((clang::Decl::Kind)ZigClangDeclRecord == clang::Decl::Record, "");
-static_assert((clang::Decl::Kind)ZigClangDeclCXXRecord == clang::Decl::CXXRecord, "");
-static_assert((clang::Decl::Kind)ZigClangDeclClassTemplateSpecialization == clang::Decl::ClassTemplateSpecialization, "");
-static_assert((clang::Decl::Kind)ZigClangDeclClassTemplatePartialSpecialization == clang::Decl::ClassTemplatePartialSpecialization, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTemplateTypeParm == clang::Decl::TemplateTypeParm, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCTypeParam == clang::Decl::ObjCTypeParam, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTypeAlias == clang::Decl::TypeAlias, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTypedef == clang::Decl::Typedef, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingTypename == clang::Decl::UnresolvedUsingTypename, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingIfExists == clang::Decl::UnresolvedUsingIfExists, "");
+static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::ExternCContext, "");
+static_assert((clang::Decl::Kind)ZigClangDeclExport == clang::Decl::Export, "");
+static_assert((clang::Decl::Kind)ZigClangDeclCaptured == clang::Decl::Captured, "");
+static_assert((clang::Decl::Kind)ZigClangDeclBlock == clang::Decl::Block, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
+static_assert((clang::Decl::Kind)ZigClangDeclStaticAssert == clang::Decl::StaticAssert, "");
+static_assert((clang::Decl::Kind)ZigClangDeclPragmaDetectMismatch == clang::Decl::PragmaDetectMismatch, "");
+static_assert((clang::Decl::Kind)ZigClangDeclPragmaComment == clang::Decl::PragmaComment, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCPropertyImpl == clang::Decl::ObjCPropertyImpl, "");
+static_assert((clang::Decl::Kind)ZigClangDeclOMPThreadPrivate == clang::Decl::OMPThreadPrivate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, "");
 static_assert((clang::Decl::Kind)ZigClangDeclOMPAllocate == clang::Decl::OMPAllocate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUsingDirective == clang::Decl::UsingDirective, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUsingPack == clang::Decl::UsingPack, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUsingShadow == clang::Decl::UsingShadow, "");
-static_assert((clang::Decl::Kind)ZigClangDeclConstructorUsingShadow == clang::Decl::ConstructorUsingShadow, "");
-static_assert((clang::Decl::Kind)ZigClangDeclBinding == clang::Decl::Binding, "");
-static_assert((clang::Decl::Kind)ZigClangDeclField == clang::Decl::Field, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCAtDefsField == clang::Decl::ObjCAtDefsField, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCIvar == clang::Decl::ObjCIvar, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCMethod == clang::Decl::ObjCMethod, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCProtocol == clang::Decl::ObjCProtocol, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCInterface == clang::Decl::ObjCInterface, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCImplementation == clang::Decl::ObjCImplementation, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCCategoryImpl == clang::Decl::ObjCCategoryImpl, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCCategory == clang::Decl::ObjCCategory, "");
+static_assert((clang::Decl::Kind)ZigClangDeclNamespace == clang::Decl::Namespace, "");
+static_assert((clang::Decl::Kind)ZigClangDeclHLSLBuffer == clang::Decl::HLSLBuffer, "");
+static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");
+static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUnnamedGlobalConstant == clang::Decl::UnnamedGlobalConstant, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTemplateParamObject == clang::Decl::TemplateParamObject, "");
+static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, "");
+static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::IndirectField, "");
+static_assert((clang::Decl::Kind)ZigClangDeclEnumConstant == clang::Decl::EnumConstant, "");
 static_assert((clang::Decl::Kind)ZigClangDeclFunction == clang::Decl::Function, "");
-static_assert((clang::Decl::Kind)ZigClangDeclCXXDeductionGuide == clang::Decl::CXXDeductionGuide, "");
 static_assert((clang::Decl::Kind)ZigClangDeclCXXMethod == clang::Decl::CXXMethod, "");
-static_assert((clang::Decl::Kind)ZigClangDeclCXXConstructor == clang::Decl::CXXConstructor, "");
-static_assert((clang::Decl::Kind)ZigClangDeclCXXConversion == clang::Decl::CXXConversion, "");
 static_assert((clang::Decl::Kind)ZigClangDeclCXXDestructor == clang::Decl::CXXDestructor, "");
-static_assert((clang::Decl::Kind)ZigClangDeclMSProperty == clang::Decl::MSProperty, "");
-static_assert((clang::Decl::Kind)ZigClangDeclNonTypeTemplateParm == clang::Decl::NonTypeTemplateParm, "");
+static_assert((clang::Decl::Kind)ZigClangDeclCXXConversion == clang::Decl::CXXConversion, "");
+static_assert((clang::Decl::Kind)ZigClangDeclCXXConstructor == clang::Decl::CXXConstructor, "");
+static_assert((clang::Decl::Kind)ZigClangDeclCXXDeductionGuide == clang::Decl::CXXDeductionGuide, "");
 static_assert((clang::Decl::Kind)ZigClangDeclVar == clang::Decl::Var, "");
-static_assert((clang::Decl::Kind)ZigClangDeclDecomposition == clang::Decl::Decomposition, "");
-static_assert((clang::Decl::Kind)ZigClangDeclImplicitParam == clang::Decl::ImplicitParam, "");
-static_assert((clang::Decl::Kind)ZigClangDeclOMPCapturedExpr == clang::Decl::OMPCapturedExpr, "");
-static_assert((clang::Decl::Kind)ZigClangDeclParmVar == clang::Decl::ParmVar, "");
 static_assert((clang::Decl::Kind)ZigClangDeclVarTemplateSpecialization == clang::Decl::VarTemplateSpecialization, "");
 static_assert((clang::Decl::Kind)ZigClangDeclVarTemplatePartialSpecialization == clang::Decl::VarTemplatePartialSpecialization, "");
-static_assert((clang::Decl::Kind)ZigClangDeclEnumConstant == clang::Decl::EnumConstant, "");
-static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::IndirectField, "");
-static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, "");
-static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");
-static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTemplateParamObject == clang::Decl::TemplateParamObject, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUnnamedGlobalConstant == clang::Decl::UnnamedGlobalConstant, "");
-static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");
-static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, "");
-static_assert((clang::Decl::Kind)ZigClangDeclOMPThreadPrivate == clang::Decl::OMPThreadPrivate, "");
-static_assert((clang::Decl::Kind)ZigClangDeclObjCPropertyImpl == clang::Decl::ObjCPropertyImpl, "");
-static_assert((clang::Decl::Kind)ZigClangDeclPragmaComment == clang::Decl::PragmaComment, "");
-static_assert((clang::Decl::Kind)ZigClangDeclPragmaDetectMismatch == clang::Decl::PragmaDetectMismatch, "");
-static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");
-static_assert((clang::Decl::Kind)ZigClangDeclStaticAssert == clang::Decl::StaticAssert, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
-static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");
+static_assert((clang::Decl::Kind)ZigClangDeclParmVar == clang::Decl::ParmVar, "");
+static_assert((clang::Decl::Kind)ZigClangDeclOMPCapturedExpr == clang::Decl::OMPCapturedExpr, "");
+static_assert((clang::Decl::Kind)ZigClangDeclImplicitParam == clang::Decl::ImplicitParam, "");
+static_assert((clang::Decl::Kind)ZigClangDeclDecomposition == clang::Decl::Decomposition, "");
+static_assert((clang::Decl::Kind)ZigClangDeclNonTypeTemplateParm == clang::Decl::NonTypeTemplateParm, "");
+static_assert((clang::Decl::Kind)ZigClangDeclMSProperty == clang::Decl::MSProperty, "");
+static_assert((clang::Decl::Kind)ZigClangDeclField == clang::Decl::Field, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCIvar == clang::Decl::ObjCIvar, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCAtDefsField == clang::Decl::ObjCAtDefsField, "");
+static_assert((clang::Decl::Kind)ZigClangDeclBinding == clang::Decl::Binding, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUsingShadow == clang::Decl::UsingShadow, "");
+static_assert((clang::Decl::Kind)ZigClangDeclConstructorUsingShadow == clang::Decl::ConstructorUsingShadow, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUsingPack == clang::Decl::UsingPack, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUsingDirective == clang::Decl::UsingDirective, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingIfExists == clang::Decl::UnresolvedUsingIfExists, "");
+static_assert((clang::Decl::Kind)ZigClangDeclRecord == clang::Decl::Record, "");
+static_assert((clang::Decl::Kind)ZigClangDeclCXXRecord == clang::Decl::CXXRecord, "");
+static_assert((clang::Decl::Kind)ZigClangDeclClassTemplateSpecialization == clang::Decl::ClassTemplateSpecialization, "");
+static_assert((clang::Decl::Kind)ZigClangDeclClassTemplatePartialSpecialization == clang::Decl::ClassTemplatePartialSpecialization, "");
+static_assert((clang::Decl::Kind)ZigClangDeclEnum == clang::Decl::Enum, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingTypename == clang::Decl::UnresolvedUsingTypename, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTypedef == clang::Decl::Typedef, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTypeAlias == clang::Decl::TypeAlias, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCTypeParam == clang::Decl::ObjCTypeParam, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTemplateTypeParm == clang::Decl::TemplateTypeParm, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTemplateTemplateParm == clang::Decl::TemplateTemplateParm, "");
+static_assert((clang::Decl::Kind)ZigClangDeclVarTemplate == clang::Decl::VarTemplate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclTypeAliasTemplate == clang::Decl::TypeAliasTemplate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclFunctionTemplate == clang::Decl::FunctionTemplate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclClassTemplate == clang::Decl::ClassTemplate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclConcept == clang::Decl::Concept, "");
+static_assert((clang::Decl::Kind)ZigClangDeclBuiltinTemplate == clang::Decl::BuiltinTemplate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCProperty == clang::Decl::ObjCProperty, "");
+static_assert((clang::Decl::Kind)ZigClangDeclObjCCompatibleAlias == clang::Decl::ObjCCompatibleAlias, "");
+static_assert((clang::Decl::Kind)ZigClangDeclNamespaceAlias == clang::Decl::NamespaceAlias, "");
+static_assert((clang::Decl::Kind)ZigClangDeclLabel == clang::Decl::Label, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUsingEnum == clang::Decl::UsingEnum, "");
+static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
+static_assert((clang::Decl::Kind)ZigClangDeclLifetimeExtendedTemporary == clang::Decl::LifetimeExtendedTemporary, "");
+static_assert((clang::Decl::Kind)ZigClangDeclImport == clang::Decl::Import, "");
+static_assert((clang::Decl::Kind)ZigClangDeclImplicitConceptSpecialization == clang::Decl::ImplicitConceptSpecialization, "");
+static_assert((clang::Decl::Kind)ZigClangDeclFriendTemplate == clang::Decl::FriendTemplate, "");
+static_assert((clang::Decl::Kind)ZigClangDeclFriend == clang::Decl::Friend, "");
+static_assert((clang::Decl::Kind)ZigClangDeclFileScopeAsm == clang::Decl::FileScopeAsm, "");
+static_assert((clang::Decl::Kind)ZigClangDeclEmpty == clang::Decl::Empty, "");
+static_assert((clang::Decl::Kind)ZigClangDeclAccessSpec == clang::Decl::AccessSpec, "");
 
 void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
     switch (x) {
@@ -1242,6 +1241,12 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
         case clang::BuiltinType::RvvFloat16m2:
         case clang::BuiltinType::RvvFloat16m4:
         case clang::BuiltinType::RvvFloat16m8:
+        case clang::BuiltinType::RvvBFloat16mf4:
+        case clang::BuiltinType::RvvBFloat16mf2:
+        case clang::BuiltinType::RvvBFloat16m1:
+        case clang::BuiltinType::RvvBFloat16m2:
+        case clang::BuiltinType::RvvBFloat16m4:
+        case clang::BuiltinType::RvvBFloat16m8:
         case clang::BuiltinType::RvvFloat32mf2:
         case clang::BuiltinType::RvvFloat32m1:
         case clang::BuiltinType::RvvFloat32m2:
@@ -1484,6 +1489,31 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
         case clang::BuiltinType::RvvFloat64m2x3:
         case clang::BuiltinType::RvvFloat64m2x4:
         case clang::BuiltinType::RvvFloat64m4x2:
+        case clang::BuiltinType::RvvBFloat16mf4x2:
+        case clang::BuiltinType::RvvBFloat16mf4x3:
+        case clang::BuiltinType::RvvBFloat16mf4x4:
+        case clang::BuiltinType::RvvBFloat16mf4x5:
+        case clang::BuiltinType::RvvBFloat16mf4x6:
+        case clang::BuiltinType::RvvBFloat16mf4x7:
+        case clang::BuiltinType::RvvBFloat16mf4x8:
+        case clang::BuiltinType::RvvBFloat16mf2x2:
+        case clang::BuiltinType::RvvBFloat16mf2x3:
+        case clang::BuiltinType::RvvBFloat16mf2x4:
+        case clang::BuiltinType::RvvBFloat16mf2x5:
+        case clang::BuiltinType::RvvBFloat16mf2x6:
+        case clang::BuiltinType::RvvBFloat16mf2x7:
+        case clang::BuiltinType::RvvBFloat16mf2x8:
+        case clang::BuiltinType::RvvBFloat16m1x2:
+        case clang::BuiltinType::RvvBFloat16m1x3:
+        case clang::BuiltinType::RvvBFloat16m1x4:
+        case clang::BuiltinType::RvvBFloat16m1x5:
+        case clang::BuiltinType::RvvBFloat16m1x6:
+        case clang::BuiltinType::RvvBFloat16m1x7:
+        case clang::BuiltinType::RvvBFloat16m1x8:
+        case clang::BuiltinType::RvvBFloat16m2x2:
+        case clang::BuiltinType::RvvBFloat16m2x3:
+        case clang::BuiltinType::RvvBFloat16m2x4:
+        case clang::BuiltinType::RvvBFloat16m4x2:
         case clang::BuiltinType::WasmExternRef:
         case clang::BuiltinType::Void:
         case clang::BuiltinType::Bool:
@@ -1714,6 +1744,12 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m1 == clang
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m2 == clang::BuiltinType::RvvFloat16m2, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m4 == clang::BuiltinType::RvvFloat16m4, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m8 == clang::BuiltinType::RvvFloat16m8, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4 == clang::BuiltinType::RvvBFloat16mf4, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2 == clang::BuiltinType::RvvBFloat16mf2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1 == clang::BuiltinType::RvvBFloat16m1, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2 == clang::BuiltinType::RvvBFloat16m2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m4 == clang::BuiltinType::RvvBFloat16m4, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m8 == clang::BuiltinType::RvvBFloat16m8, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32mf2 == clang::BuiltinType::RvvFloat32mf2, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m1 == clang::BuiltinType::RvvFloat32m1, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m2 == clang::BuiltinType::RvvFloat32m2, "");
@@ -1956,6 +1992,31 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m2x2 == cla
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m2x3 == clang::BuiltinType::RvvFloat64m2x3, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m2x4 == clang::BuiltinType::RvvFloat64m2x4, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m4x2 == clang::BuiltinType::RvvFloat64m4x2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x2 == clang::BuiltinType::RvvBFloat16mf4x2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x3 == clang::BuiltinType::RvvBFloat16mf4x3, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x4 == clang::BuiltinType::RvvBFloat16mf4x4, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x5 == clang::BuiltinType::RvvBFloat16mf4x5, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x6 == clang::BuiltinType::RvvBFloat16mf4x6, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x7 == clang::BuiltinType::RvvBFloat16mf4x7, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf4x8 == clang::BuiltinType::RvvBFloat16mf4x8, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x2 == clang::BuiltinType::RvvBFloat16mf2x2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x3 == clang::BuiltinType::RvvBFloat16mf2x3, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x4 == clang::BuiltinType::RvvBFloat16mf2x4, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x5 == clang::BuiltinType::RvvBFloat16mf2x5, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x6 == clang::BuiltinType::RvvBFloat16mf2x6, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x7 == clang::BuiltinType::RvvBFloat16mf2x7, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16mf2x8 == clang::BuiltinType::RvvBFloat16mf2x8, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x2 == clang::BuiltinType::RvvBFloat16m1x2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x3 == clang::BuiltinType::RvvBFloat16m1x3, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x4 == clang::BuiltinType::RvvBFloat16m1x4, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x5 == clang::BuiltinType::RvvBFloat16m1x5, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x6 == clang::BuiltinType::RvvBFloat16m1x6, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x7 == clang::BuiltinType::RvvBFloat16m1x7, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m1x8 == clang::BuiltinType::RvvBFloat16m1x8, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x2 == clang::BuiltinType::RvvBFloat16m2x2, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x3 == clang::BuiltinType::RvvBFloat16m2x3, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x4 == clang::BuiltinType::RvvBFloat16m2x4, "");
+static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m4x2 == clang::BuiltinType::RvvBFloat16m4x2, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeWasmExternRef == clang::BuiltinType::WasmExternRef, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
 static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
@@ -2119,41 +2180,41 @@ static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_NearestTiesToAway
 static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_Dynamic == llvm::RoundingMode::Dynamic, "");
 static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_Invalid == llvm::RoundingMode::Invalid, "");
 
-void ZigClang_detect_enum_CharacterKind(clang::CharacterLiteral::CharacterKind x) {
+void ZigClang_detect_enum_CharacterLiteralKind(clang::CharacterLiteralKind x) {
     switch (x) {
-        case clang::CharacterLiteral::Ascii:
-        case clang::CharacterLiteral::Wide:
-        case clang::CharacterLiteral::UTF8:
-        case clang::CharacterLiteral::UTF16:
-        case clang::CharacterLiteral::UTF32:
+        case clang::CharacterLiteralKind::Ascii:
+        case clang::CharacterLiteralKind::Wide:
+        case clang::CharacterLiteralKind::UTF8:
+        case clang::CharacterLiteralKind::UTF16:
+        case clang::CharacterLiteralKind::UTF32:
             break;
     }
 }
-static_assert((clang::CharacterLiteral::CharacterKind)ZigClangCharacterLiteral_CharacterKind_Ascii == clang::CharacterLiteral::Ascii, "");
-static_assert((clang::CharacterLiteral::CharacterKind)ZigClangCharacterLiteral_CharacterKind_Wide == clang::CharacterLiteral::Wide, "");
-static_assert((clang::CharacterLiteral::CharacterKind)ZigClangCharacterLiteral_CharacterKind_UTF8 == clang::CharacterLiteral::UTF8, "");
-static_assert((clang::CharacterLiteral::CharacterKind)ZigClangCharacterLiteral_CharacterKind_UTF16 == clang::CharacterLiteral::UTF16, "");
-static_assert((clang::CharacterLiteral::CharacterKind)ZigClangCharacterLiteral_CharacterKind_UTF32 == clang::CharacterLiteral::UTF32, "");
+static_assert((clang::CharacterLiteralKind)ZigClangCharacterLiteralKind_Ascii == clang::CharacterLiteralKind::Ascii, "");
+static_assert((clang::CharacterLiteralKind)ZigClangCharacterLiteralKind_Wide == clang::CharacterLiteralKind::Wide, "");
+static_assert((clang::CharacterLiteralKind)ZigClangCharacterLiteralKind_UTF8 == clang::CharacterLiteralKind::UTF8, "");
+static_assert((clang::CharacterLiteralKind)ZigClangCharacterLiteralKind_UTF16 == clang::CharacterLiteralKind::UTF16, "");
+static_assert((clang::CharacterLiteralKind)ZigClangCharacterLiteralKind_UTF32 == clang::CharacterLiteralKind::UTF32, "");
 
 void ZigClang_detect_enum_ElaboratedTypeKeyword(clang::ElaboratedTypeKeyword x) {
     switch (x) {
-        case clang::ETK_Struct:
-        case clang::ETK_Interface:
-        case clang::ETK_Union:
-        case clang::ETK_Class:
-        case clang::ETK_Enum:
-        case clang::ETK_Typename:
-        case clang::ETK_None:
+        case clang::ElaboratedTypeKeyword::Struct:
+        case clang::ElaboratedTypeKeyword::Interface:
+        case clang::ElaboratedTypeKeyword::Union:
+        case clang::ElaboratedTypeKeyword::Class:
+        case clang::ElaboratedTypeKeyword::Enum:
+        case clang::ElaboratedTypeKeyword::Typename:
+        case clang::ElaboratedTypeKeyword::None:
             break;
     }
 }
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_Struct == clang::ETK_Struct, "");
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_Interface == clang::ETK_Interface, "");
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_Union == clang::ETK_Union, "");
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_Class == clang::ETK_Class, "");
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_Enum == clang::ETK_Enum, "");
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_Typename == clang::ETK_Typename, "");
-static_assert((clang::ElaboratedTypeKeyword)ZigClangETK_None == clang::ETK_None, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_Struct == clang::ElaboratedTypeKeyword::Struct, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_Interface == clang::ElaboratedTypeKeyword::Interface, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_Union == clang::ElaboratedTypeKeyword::Union, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_Class == clang::ElaboratedTypeKeyword::Class, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_Enum == clang::ElaboratedTypeKeyword::Enum, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_Typename == clang::ElaboratedTypeKeyword::Typename, "");
+static_assert((clang::ElaboratedTypeKeyword)ZigClangElaboratedTypeKeyword_None == clang::ElaboratedTypeKeyword::None, "");
 
 void ZigClang_detect_enum_EntityKind(clang::PreprocessedEntity::EntityKind x) {
     switch (x) {
@@ -3266,9 +3327,9 @@ ZigClangAPFloatBase_Semantics ZigClangFloatingLiteral_getRawSemantics(const ZigC
     return static_cast<ZigClangAPFloatBase_Semantics>(casted->getRawSemantics());
 }
 
-enum ZigClangCharacterLiteral_CharacterKind ZigClangStringLiteral_getKind(const struct ZigClangStringLiteral *self) {
+enum ZigClangCharacterLiteralKind ZigClangStringLiteral_getKind(const struct ZigClangStringLiteral *self) {
     auto casted = reinterpret_cast<const clang::StringLiteral *>(self);
-    return (ZigClangCharacterLiteral_CharacterKind)casted->getKind();
+    return (ZigClangCharacterLiteralKind)casted->getKind();
 }
 
 uint32_t ZigClangStringLiteral_getCodeUnit(const struct ZigClangStringLiteral *self, size_t i) {
@@ -3558,9 +3619,9 @@ struct ZigClangSourceLocation ZigClangCharacterLiteral_getBeginLoc(const struct
     return bitcast(casted->getBeginLoc());
 }
 
-enum ZigClangCharacterLiteral_CharacterKind ZigClangCharacterLiteral_getKind(const struct ZigClangCharacterLiteral *self) {
+enum ZigClangCharacterLiteralKind ZigClangCharacterLiteral_getKind(const struct ZigClangCharacterLiteral *self) {
     auto casted = reinterpret_cast<const clang::CharacterLiteral *>(self);
-    return (ZigClangCharacterLiteral_CharacterKind)casted->getKind();
+    return (ZigClangCharacterLiteralKind)casted->getKind();
 }
 
 unsigned ZigClangCharacterLiteral_getValue(const struct ZigClangCharacterLiteral *self) {
@@ -3971,7 +4032,8 @@ bool ZigClangEnumDecl_enumerator_iterator_neq(
 
 const struct ZigClangAPSInt *ZigClangEnumConstantDecl_getInitVal(const struct ZigClangEnumConstantDecl *self) {
     auto casted = reinterpret_cast<const clang::EnumConstantDecl *>(self);
-    const llvm::APSInt *result = &casted->getInitVal();
+    llvm::APSInt *result = new llvm::APSInt();
+    *result = casted->getInitVal();
     return reinterpret_cast<const ZigClangAPSInt *>(result);
 }
 
src/zig_clang.h
@@ -302,239 +302,240 @@ enum ZigClangTypeClass {
 
 enum ZigClangStmtClass {
     ZigClangStmt_NoStmtClass,
-    ZigClangStmt_GCCAsmStmtClass,
-    ZigClangStmt_MSAsmStmtClass,
-    ZigClangStmt_BreakStmtClass,
-    ZigClangStmt_CXXCatchStmtClass,
-    ZigClangStmt_CXXForRangeStmtClass,
-    ZigClangStmt_CXXTryStmtClass,
-    ZigClangStmt_CapturedStmtClass,
-    ZigClangStmt_CompoundStmtClass,
-    ZigClangStmt_ContinueStmtClass,
-    ZigClangStmt_CoreturnStmtClass,
-    ZigClangStmt_CoroutineBodyStmtClass,
-    ZigClangStmt_DeclStmtClass,
-    ZigClangStmt_DoStmtClass,
-    ZigClangStmt_ForStmtClass,
-    ZigClangStmt_GotoStmtClass,
-    ZigClangStmt_IfStmtClass,
-    ZigClangStmt_IndirectGotoStmtClass,
-    ZigClangStmt_MSDependentExistsStmtClass,
-    ZigClangStmt_NullStmtClass,
-    ZigClangStmt_OMPCanonicalLoopClass,
-    ZigClangStmt_OMPAtomicDirectiveClass,
-    ZigClangStmt_OMPBarrierDirectiveClass,
-    ZigClangStmt_OMPCancelDirectiveClass,
-    ZigClangStmt_OMPCancellationPointDirectiveClass,
-    ZigClangStmt_OMPCriticalDirectiveClass,
-    ZigClangStmt_OMPDepobjDirectiveClass,
-    ZigClangStmt_OMPDispatchDirectiveClass,
-    ZigClangStmt_OMPErrorDirectiveClass,
-    ZigClangStmt_OMPFlushDirectiveClass,
-    ZigClangStmt_OMPInteropDirectiveClass,
-    ZigClangStmt_OMPDistributeDirectiveClass,
-    ZigClangStmt_OMPDistributeParallelForDirectiveClass,
-    ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass,
-    ZigClangStmt_OMPDistributeSimdDirectiveClass,
-    ZigClangStmt_OMPForDirectiveClass,
-    ZigClangStmt_OMPForSimdDirectiveClass,
-    ZigClangStmt_OMPGenericLoopDirectiveClass,
-    ZigClangStmt_OMPMaskedTaskLoopDirectiveClass,
-    ZigClangStmt_OMPMaskedTaskLoopSimdDirectiveClass,
-    ZigClangStmt_OMPMasterTaskLoopDirectiveClass,
-    ZigClangStmt_OMPMasterTaskLoopSimdDirectiveClass,
-    ZigClangStmt_OMPParallelForDirectiveClass,
-    ZigClangStmt_OMPParallelForSimdDirectiveClass,
-    ZigClangStmt_OMPParallelGenericLoopDirectiveClass,
-    ZigClangStmt_OMPParallelMaskedTaskLoopDirectiveClass,
-    ZigClangStmt_OMPParallelMaskedTaskLoopSimdDirectiveClass,
-    ZigClangStmt_OMPParallelMasterTaskLoopDirectiveClass,
-    ZigClangStmt_OMPParallelMasterTaskLoopSimdDirectiveClass,
-    ZigClangStmt_OMPSimdDirectiveClass,
-    ZigClangStmt_OMPTargetParallelForSimdDirectiveClass,
-    ZigClangStmt_OMPTargetParallelGenericLoopDirectiveClass,
-    ZigClangStmt_OMPTargetSimdDirectiveClass,
-    ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass,
-    ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass,
-    ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass,
-    ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass,
-    ZigClangStmt_OMPTargetTeamsGenericLoopDirectiveClass,
-    ZigClangStmt_OMPTaskLoopDirectiveClass,
-    ZigClangStmt_OMPTaskLoopSimdDirectiveClass,
-    ZigClangStmt_OMPTeamsDistributeDirectiveClass,
-    ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass,
-    ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,
-    ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,
-    ZigClangStmt_OMPTeamsGenericLoopDirectiveClass,
-    ZigClangStmt_OMPTileDirectiveClass,
-    ZigClangStmt_OMPUnrollDirectiveClass,
-    ZigClangStmt_OMPMaskedDirectiveClass,
-    ZigClangStmt_OMPMasterDirectiveClass,
-    ZigClangStmt_OMPMetaDirectiveClass,
-    ZigClangStmt_OMPOrderedDirectiveClass,
-    ZigClangStmt_OMPParallelDirectiveClass,
-    ZigClangStmt_OMPParallelMaskedDirectiveClass,
-    ZigClangStmt_OMPParallelMasterDirectiveClass,
-    ZigClangStmt_OMPParallelSectionsDirectiveClass,
-    ZigClangStmt_OMPScanDirectiveClass,
-    ZigClangStmt_OMPSectionDirectiveClass,
-    ZigClangStmt_OMPSectionsDirectiveClass,
-    ZigClangStmt_OMPSingleDirectiveClass,
-    ZigClangStmt_OMPTargetDataDirectiveClass,
-    ZigClangStmt_OMPTargetDirectiveClass,
-    ZigClangStmt_OMPTargetEnterDataDirectiveClass,
-    ZigClangStmt_OMPTargetExitDataDirectiveClass,
-    ZigClangStmt_OMPTargetParallelDirectiveClass,
-    ZigClangStmt_OMPTargetParallelForDirectiveClass,
-    ZigClangStmt_OMPTargetTeamsDirectiveClass,
-    ZigClangStmt_OMPTargetUpdateDirectiveClass,
-    ZigClangStmt_OMPTaskDirectiveClass,
-    ZigClangStmt_OMPTaskgroupDirectiveClass,
-    ZigClangStmt_OMPTaskwaitDirectiveClass,
-    ZigClangStmt_OMPTaskyieldDirectiveClass,
-    ZigClangStmt_OMPTeamsDirectiveClass,
-    ZigClangStmt_ObjCAtCatchStmtClass,
-    ZigClangStmt_ObjCAtFinallyStmtClass,
-    ZigClangStmt_ObjCAtSynchronizedStmtClass,
-    ZigClangStmt_ObjCAtThrowStmtClass,
-    ZigClangStmt_ObjCAtTryStmtClass,
-    ZigClangStmt_ObjCAutoreleasePoolStmtClass,
-    ZigClangStmt_ObjCForCollectionStmtClass,
-    ZigClangStmt_ReturnStmtClass,
-    ZigClangStmt_SEHExceptStmtClass,
-    ZigClangStmt_SEHFinallyStmtClass,
-    ZigClangStmt_SEHLeaveStmtClass,
-    ZigClangStmt_SEHTryStmtClass,
-    ZigClangStmt_CaseStmtClass,
-    ZigClangStmt_DefaultStmtClass,
-    ZigClangStmt_SwitchStmtClass,
-    ZigClangStmt_AttributedStmtClass,
-    ZigClangStmt_BinaryConditionalOperatorClass,
-    ZigClangStmt_ConditionalOperatorClass,
-    ZigClangStmt_AddrLabelExprClass,
-    ZigClangStmt_ArrayInitIndexExprClass,
-    ZigClangStmt_ArrayInitLoopExprClass,
-    ZigClangStmt_ArraySubscriptExprClass,
-    ZigClangStmt_ArrayTypeTraitExprClass,
-    ZigClangStmt_AsTypeExprClass,
-    ZigClangStmt_AtomicExprClass,
-    ZigClangStmt_BinaryOperatorClass,
-    ZigClangStmt_CompoundAssignOperatorClass,
-    ZigClangStmt_BlockExprClass,
-    ZigClangStmt_CXXBindTemporaryExprClass,
-    ZigClangStmt_CXXBoolLiteralExprClass,
-    ZigClangStmt_CXXConstructExprClass,
-    ZigClangStmt_CXXTemporaryObjectExprClass,
-    ZigClangStmt_CXXDefaultArgExprClass,
-    ZigClangStmt_CXXDefaultInitExprClass,
-    ZigClangStmt_CXXDeleteExprClass,
-    ZigClangStmt_CXXDependentScopeMemberExprClass,
-    ZigClangStmt_CXXFoldExprClass,
-    ZigClangStmt_CXXInheritedCtorInitExprClass,
-    ZigClangStmt_CXXNewExprClass,
-    ZigClangStmt_CXXNoexceptExprClass,
-    ZigClangStmt_CXXNullPtrLiteralExprClass,
-    ZigClangStmt_CXXParenListInitExprClass,
-    ZigClangStmt_CXXPseudoDestructorExprClass,
-    ZigClangStmt_CXXRewrittenBinaryOperatorClass,
-    ZigClangStmt_CXXScalarValueInitExprClass,
-    ZigClangStmt_CXXStdInitializerListExprClass,
-    ZigClangStmt_CXXThisExprClass,
-    ZigClangStmt_CXXThrowExprClass,
-    ZigClangStmt_CXXTypeidExprClass,
-    ZigClangStmt_CXXUnresolvedConstructExprClass,
-    ZigClangStmt_CXXUuidofExprClass,
+    ZigClangStmt_WhileStmtClass,
+    ZigClangStmt_LabelStmtClass,
+    ZigClangStmt_VAArgExprClass,
+    ZigClangStmt_UnaryOperatorClass,
+    ZigClangStmt_UnaryExprOrTypeTraitExprClass,
+    ZigClangStmt_TypoExprClass,
+    ZigClangStmt_TypeTraitExprClass,
+    ZigClangStmt_SubstNonTypeTemplateParmPackExprClass,
+    ZigClangStmt_SubstNonTypeTemplateParmExprClass,
+    ZigClangStmt_StringLiteralClass,
+    ZigClangStmt_StmtExprClass,
+    ZigClangStmt_SourceLocExprClass,
+    ZigClangStmt_SizeOfPackExprClass,
+    ZigClangStmt_ShuffleVectorExprClass,
+    ZigClangStmt_SYCLUniqueStableNameExprClass,
+    ZigClangStmt_RequiresExprClass,
+    ZigClangStmt_RecoveryExprClass,
+    ZigClangStmt_PseudoObjectExprClass,
+    ZigClangStmt_PredefinedExprClass,
+    ZigClangStmt_ParenListExprClass,
+    ZigClangStmt_ParenExprClass,
+    ZigClangStmt_PackExpansionExprClass,
+    ZigClangStmt_UnresolvedMemberExprClass,
+    ZigClangStmt_UnresolvedLookupExprClass,
+    ZigClangStmt_OpaqueValueExprClass,
+    ZigClangStmt_OffsetOfExprClass,
+    ZigClangStmt_ObjCSubscriptRefExprClass,
+    ZigClangStmt_ObjCStringLiteralClass,
+    ZigClangStmt_ObjCSelectorExprClass,
+    ZigClangStmt_ObjCProtocolExprClass,
+    ZigClangStmt_ObjCPropertyRefExprClass,
+    ZigClangStmt_ObjCMessageExprClass,
+    ZigClangStmt_ObjCIvarRefExprClass,
+    ZigClangStmt_ObjCIsaExprClass,
+    ZigClangStmt_ObjCIndirectCopyRestoreExprClass,
+    ZigClangStmt_ObjCEncodeExprClass,
+    ZigClangStmt_ObjCDictionaryLiteralClass,
+    ZigClangStmt_ObjCBoxedExprClass,
+    ZigClangStmt_ObjCBoolLiteralExprClass,
+    ZigClangStmt_ObjCAvailabilityCheckExprClass,
+    ZigClangStmt_ObjCArrayLiteralClass,
+    ZigClangStmt_OMPIteratorExprClass,
+    ZigClangStmt_OMPArrayShapingExprClass,
+    ZigClangStmt_OMPArraySectionExprClass,
+    ZigClangStmt_NoInitExprClass,
+    ZigClangStmt_MemberExprClass,
+    ZigClangStmt_MatrixSubscriptExprClass,
+    ZigClangStmt_MaterializeTemporaryExprClass,
+    ZigClangStmt_MSPropertySubscriptExprClass,
+    ZigClangStmt_MSPropertyRefExprClass,
+    ZigClangStmt_LambdaExprClass,
+    ZigClangStmt_IntegerLiteralClass,
+    ZigClangStmt_InitListExprClass,
+    ZigClangStmt_ImplicitValueInitExprClass,
+    ZigClangStmt_ImaginaryLiteralClass,
+    ZigClangStmt_GenericSelectionExprClass,
+    ZigClangStmt_GNUNullExprClass,
+    ZigClangStmt_FunctionParmPackExprClass,
+    ZigClangStmt_ExprWithCleanupsClass,
+    ZigClangStmt_ConstantExprClass,
+    ZigClangStmt_FloatingLiteralClass,
+    ZigClangStmt_FixedPointLiteralClass,
+    ZigClangStmt_ExtVectorElementExprClass,
+    ZigClangStmt_ExpressionTraitExprClass,
+    ZigClangStmt_DesignatedInitUpdateExprClass,
+    ZigClangStmt_DesignatedInitExprClass,
+    ZigClangStmt_DependentScopeDeclRefExprClass,
+    ZigClangStmt_DependentCoawaitExprClass,
+    ZigClangStmt_DeclRefExprClass,
+    ZigClangStmt_CoyieldExprClass,
+    ZigClangStmt_CoawaitExprClass,
+    ZigClangStmt_ConvertVectorExprClass,
+    ZigClangStmt_ConceptSpecializationExprClass,
+    ZigClangStmt_CompoundLiteralExprClass,
+    ZigClangStmt_ChooseExprClass,
+    ZigClangStmt_CharacterLiteralClass,
+    ZigClangStmt_ImplicitCastExprClass,
+    ZigClangStmt_ObjCBridgedCastExprClass,
+    ZigClangStmt_CXXStaticCastExprClass,
+    ZigClangStmt_CXXReinterpretCastExprClass,
+    ZigClangStmt_CXXDynamicCastExprClass,
+    ZigClangStmt_CXXConstCastExprClass,
+    ZigClangStmt_CXXAddrspaceCastExprClass,
+    ZigClangStmt_CXXFunctionalCastExprClass,
+    ZigClangStmt_CStyleCastExprClass,
+    ZigClangStmt_BuiltinBitCastExprClass,
     ZigClangStmt_CallExprClass,
-    ZigClangStmt_CUDAKernelCallExprClass,
-    ZigClangStmt_CXXMemberCallExprClass,
-    ZigClangStmt_CXXOperatorCallExprClass,
     ZigClangStmt_UserDefinedLiteralClass,
-    ZigClangStmt_BuiltinBitCastExprClass,
-    ZigClangStmt_CStyleCastExprClass,
-    ZigClangStmt_CXXFunctionalCastExprClass,
-    ZigClangStmt_CXXAddrspaceCastExprClass,
-    ZigClangStmt_CXXConstCastExprClass,
-    ZigClangStmt_CXXDynamicCastExprClass,
-    ZigClangStmt_CXXReinterpretCastExprClass,
-    ZigClangStmt_CXXStaticCastExprClass,
-    ZigClangStmt_ObjCBridgedCastExprClass,
-    ZigClangStmt_ImplicitCastExprClass,
-    ZigClangStmt_CharacterLiteralClass,
-    ZigClangStmt_ChooseExprClass,
-    ZigClangStmt_CompoundLiteralExprClass,
-    ZigClangStmt_ConceptSpecializationExprClass,
-    ZigClangStmt_ConvertVectorExprClass,
-    ZigClangStmt_CoawaitExprClass,
-    ZigClangStmt_CoyieldExprClass,
-    ZigClangStmt_DeclRefExprClass,
-    ZigClangStmt_DependentCoawaitExprClass,
-    ZigClangStmt_DependentScopeDeclRefExprClass,
-    ZigClangStmt_DesignatedInitExprClass,
-    ZigClangStmt_DesignatedInitUpdateExprClass,
-    ZigClangStmt_ExpressionTraitExprClass,
-    ZigClangStmt_ExtVectorElementExprClass,
-    ZigClangStmt_FixedPointLiteralClass,
-    ZigClangStmt_FloatingLiteralClass,
-    ZigClangStmt_ConstantExprClass,
-    ZigClangStmt_ExprWithCleanupsClass,
-    ZigClangStmt_FunctionParmPackExprClass,
-    ZigClangStmt_GNUNullExprClass,
-    ZigClangStmt_GenericSelectionExprClass,
-    ZigClangStmt_ImaginaryLiteralClass,
-    ZigClangStmt_ImplicitValueInitExprClass,
-    ZigClangStmt_InitListExprClass,
-    ZigClangStmt_IntegerLiteralClass,
-    ZigClangStmt_LambdaExprClass,
-    ZigClangStmt_MSPropertyRefExprClass,
-    ZigClangStmt_MSPropertySubscriptExprClass,
-    ZigClangStmt_MaterializeTemporaryExprClass,
-    ZigClangStmt_MatrixSubscriptExprClass,
-    ZigClangStmt_MemberExprClass,
-    ZigClangStmt_NoInitExprClass,
-    ZigClangStmt_OMPArraySectionExprClass,
-    ZigClangStmt_OMPArrayShapingExprClass,
-    ZigClangStmt_OMPIteratorExprClass,
-    ZigClangStmt_ObjCArrayLiteralClass,
-    ZigClangStmt_ObjCAvailabilityCheckExprClass,
-    ZigClangStmt_ObjCBoolLiteralExprClass,
-    ZigClangStmt_ObjCBoxedExprClass,
-    ZigClangStmt_ObjCDictionaryLiteralClass,
-    ZigClangStmt_ObjCEncodeExprClass,
-    ZigClangStmt_ObjCIndirectCopyRestoreExprClass,
-    ZigClangStmt_ObjCIsaExprClass,
-    ZigClangStmt_ObjCIvarRefExprClass,
-    ZigClangStmt_ObjCMessageExprClass,
-    ZigClangStmt_ObjCPropertyRefExprClass,
-    ZigClangStmt_ObjCProtocolExprClass,
-    ZigClangStmt_ObjCSelectorExprClass,
-    ZigClangStmt_ObjCStringLiteralClass,
-    ZigClangStmt_ObjCSubscriptRefExprClass,
-    ZigClangStmt_OffsetOfExprClass,
-    ZigClangStmt_OpaqueValueExprClass,
-    ZigClangStmt_UnresolvedLookupExprClass,
-    ZigClangStmt_UnresolvedMemberExprClass,
-    ZigClangStmt_PackExpansionExprClass,
-    ZigClangStmt_ParenExprClass,
-    ZigClangStmt_ParenListExprClass,
-    ZigClangStmt_PredefinedExprClass,
-    ZigClangStmt_PseudoObjectExprClass,
-    ZigClangStmt_RecoveryExprClass,
-    ZigClangStmt_RequiresExprClass,
-    ZigClangStmt_SYCLUniqueStableNameExprClass,
-    ZigClangStmt_ShuffleVectorExprClass,
-    ZigClangStmt_SizeOfPackExprClass,
-    ZigClangStmt_SourceLocExprClass,
-    ZigClangStmt_StmtExprClass,
-    ZigClangStmt_StringLiteralClass,
-    ZigClangStmt_SubstNonTypeTemplateParmExprClass,
-    ZigClangStmt_SubstNonTypeTemplateParmPackExprClass,
-    ZigClangStmt_TypeTraitExprClass,
-    ZigClangStmt_TypoExprClass,
-    ZigClangStmt_UnaryExprOrTypeTraitExprClass,
-    ZigClangStmt_UnaryOperatorClass,
-    ZigClangStmt_VAArgExprClass,
-    ZigClangStmt_LabelStmtClass,
-    ZigClangStmt_WhileStmtClass,
+    ZigClangStmt_CXXOperatorCallExprClass,
+    ZigClangStmt_CXXMemberCallExprClass,
+    ZigClangStmt_CUDAKernelCallExprClass,
+    ZigClangStmt_CXXUuidofExprClass,
+    ZigClangStmt_CXXUnresolvedConstructExprClass,
+    ZigClangStmt_CXXTypeidExprClass,
+    ZigClangStmt_CXXThrowExprClass,
+    ZigClangStmt_CXXThisExprClass,
+    ZigClangStmt_CXXStdInitializerListExprClass,
+    ZigClangStmt_CXXScalarValueInitExprClass,
+    ZigClangStmt_CXXRewrittenBinaryOperatorClass,
+    ZigClangStmt_CXXPseudoDestructorExprClass,
+    ZigClangStmt_CXXParenListInitExprClass,
+    ZigClangStmt_CXXNullPtrLiteralExprClass,
+    ZigClangStmt_CXXNoexceptExprClass,
+    ZigClangStmt_CXXNewExprClass,
+    ZigClangStmt_CXXInheritedCtorInitExprClass,
+    ZigClangStmt_CXXFoldExprClass,
+    ZigClangStmt_CXXDependentScopeMemberExprClass,
+    ZigClangStmt_CXXDeleteExprClass,
+    ZigClangStmt_CXXDefaultInitExprClass,
+    ZigClangStmt_CXXDefaultArgExprClass,
+    ZigClangStmt_CXXConstructExprClass,
+    ZigClangStmt_CXXTemporaryObjectExprClass,
+    ZigClangStmt_CXXBoolLiteralExprClass,
+    ZigClangStmt_CXXBindTemporaryExprClass,
+    ZigClangStmt_BlockExprClass,
+    ZigClangStmt_BinaryOperatorClass,
+    ZigClangStmt_CompoundAssignOperatorClass,
+    ZigClangStmt_AtomicExprClass,
+    ZigClangStmt_AsTypeExprClass,
+    ZigClangStmt_ArrayTypeTraitExprClass,
+    ZigClangStmt_ArraySubscriptExprClass,
+    ZigClangStmt_ArrayInitLoopExprClass,
+    ZigClangStmt_ArrayInitIndexExprClass,
+    ZigClangStmt_AddrLabelExprClass,
+    ZigClangStmt_ConditionalOperatorClass,
+    ZigClangStmt_BinaryConditionalOperatorClass,
+    ZigClangStmt_AttributedStmtClass,
+    ZigClangStmt_SwitchStmtClass,
+    ZigClangStmt_DefaultStmtClass,
+    ZigClangStmt_CaseStmtClass,
+    ZigClangStmt_SEHTryStmtClass,
+    ZigClangStmt_SEHLeaveStmtClass,
+    ZigClangStmt_SEHFinallyStmtClass,
+    ZigClangStmt_SEHExceptStmtClass,
+    ZigClangStmt_ReturnStmtClass,
+    ZigClangStmt_ObjCForCollectionStmtClass,
+    ZigClangStmt_ObjCAutoreleasePoolStmtClass,
+    ZigClangStmt_ObjCAtTryStmtClass,
+    ZigClangStmt_ObjCAtThrowStmtClass,
+    ZigClangStmt_ObjCAtSynchronizedStmtClass,
+    ZigClangStmt_ObjCAtFinallyStmtClass,
+    ZigClangStmt_ObjCAtCatchStmtClass,
+    ZigClangStmt_OMPTeamsDirectiveClass,
+    ZigClangStmt_OMPTaskyieldDirectiveClass,
+    ZigClangStmt_OMPTaskwaitDirectiveClass,
+    ZigClangStmt_OMPTaskgroupDirectiveClass,
+    ZigClangStmt_OMPTaskDirectiveClass,
+    ZigClangStmt_OMPTargetUpdateDirectiveClass,
+    ZigClangStmt_OMPTargetTeamsDirectiveClass,
+    ZigClangStmt_OMPTargetParallelForDirectiveClass,
+    ZigClangStmt_OMPTargetParallelDirectiveClass,
+    ZigClangStmt_OMPTargetExitDataDirectiveClass,
+    ZigClangStmt_OMPTargetEnterDataDirectiveClass,
+    ZigClangStmt_OMPTargetDirectiveClass,
+    ZigClangStmt_OMPTargetDataDirectiveClass,
+    ZigClangStmt_OMPSingleDirectiveClass,
+    ZigClangStmt_OMPSectionsDirectiveClass,
+    ZigClangStmt_OMPSectionDirectiveClass,
+    ZigClangStmt_OMPScopeDirectiveClass,
+    ZigClangStmt_OMPScanDirectiveClass,
+    ZigClangStmt_OMPParallelSectionsDirectiveClass,
+    ZigClangStmt_OMPParallelMasterDirectiveClass,
+    ZigClangStmt_OMPParallelMaskedDirectiveClass,
+    ZigClangStmt_OMPParallelDirectiveClass,
+    ZigClangStmt_OMPOrderedDirectiveClass,
+    ZigClangStmt_OMPMetaDirectiveClass,
+    ZigClangStmt_OMPMasterDirectiveClass,
+    ZigClangStmt_OMPMaskedDirectiveClass,
+    ZigClangStmt_OMPUnrollDirectiveClass,
+    ZigClangStmt_OMPTileDirectiveClass,
+    ZigClangStmt_OMPTeamsGenericLoopDirectiveClass,
+    ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,
+    ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,
+    ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass,
+    ZigClangStmt_OMPTeamsDistributeDirectiveClass,
+    ZigClangStmt_OMPTaskLoopSimdDirectiveClass,
+    ZigClangStmt_OMPTaskLoopDirectiveClass,
+    ZigClangStmt_OMPTargetTeamsGenericLoopDirectiveClass,
+    ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass,
+    ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass,
+    ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass,
+    ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass,
+    ZigClangStmt_OMPTargetSimdDirectiveClass,
+    ZigClangStmt_OMPTargetParallelGenericLoopDirectiveClass,
+    ZigClangStmt_OMPTargetParallelForSimdDirectiveClass,
+    ZigClangStmt_OMPSimdDirectiveClass,
+    ZigClangStmt_OMPParallelMasterTaskLoopSimdDirectiveClass,
+    ZigClangStmt_OMPParallelMasterTaskLoopDirectiveClass,
+    ZigClangStmt_OMPParallelMaskedTaskLoopSimdDirectiveClass,
+    ZigClangStmt_OMPParallelMaskedTaskLoopDirectiveClass,
+    ZigClangStmt_OMPParallelGenericLoopDirectiveClass,
+    ZigClangStmt_OMPParallelForSimdDirectiveClass,
+    ZigClangStmt_OMPParallelForDirectiveClass,
+    ZigClangStmt_OMPMasterTaskLoopSimdDirectiveClass,
+    ZigClangStmt_OMPMasterTaskLoopDirectiveClass,
+    ZigClangStmt_OMPMaskedTaskLoopSimdDirectiveClass,
+    ZigClangStmt_OMPMaskedTaskLoopDirectiveClass,
+    ZigClangStmt_OMPGenericLoopDirectiveClass,
+    ZigClangStmt_OMPForSimdDirectiveClass,
+    ZigClangStmt_OMPForDirectiveClass,
+    ZigClangStmt_OMPDistributeSimdDirectiveClass,
+    ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass,
+    ZigClangStmt_OMPDistributeParallelForDirectiveClass,
+    ZigClangStmt_OMPDistributeDirectiveClass,
+    ZigClangStmt_OMPInteropDirectiveClass,
+    ZigClangStmt_OMPFlushDirectiveClass,
+    ZigClangStmt_OMPErrorDirectiveClass,
+    ZigClangStmt_OMPDispatchDirectiveClass,
+    ZigClangStmt_OMPDepobjDirectiveClass,
+    ZigClangStmt_OMPCriticalDirectiveClass,
+    ZigClangStmt_OMPCancellationPointDirectiveClass,
+    ZigClangStmt_OMPCancelDirectiveClass,
+    ZigClangStmt_OMPBarrierDirectiveClass,
+    ZigClangStmt_OMPAtomicDirectiveClass,
+    ZigClangStmt_OMPCanonicalLoopClass,
+    ZigClangStmt_NullStmtClass,
+    ZigClangStmt_MSDependentExistsStmtClass,
+    ZigClangStmt_IndirectGotoStmtClass,
+    ZigClangStmt_IfStmtClass,
+    ZigClangStmt_GotoStmtClass,
+    ZigClangStmt_ForStmtClass,
+    ZigClangStmt_DoStmtClass,
+    ZigClangStmt_DeclStmtClass,
+    ZigClangStmt_CoroutineBodyStmtClass,
+    ZigClangStmt_CoreturnStmtClass,
+    ZigClangStmt_ContinueStmtClass,
+    ZigClangStmt_CompoundStmtClass,
+    ZigClangStmt_CapturedStmtClass,
+    ZigClangStmt_CXXTryStmtClass,
+    ZigClangStmt_CXXForRangeStmtClass,
+    ZigClangStmt_CXXCatchStmtClass,
+    ZigClangStmt_BreakStmtClass,
+    ZigClangStmt_MSAsmStmtClass,
+    ZigClangStmt_GCCAsmStmtClass,
 };
 
 enum ZigClangCK {
@@ -606,93 +607,92 @@ enum ZigClangCK {
 };
 
 enum ZigClangDeclKind {
-    ZigClangDeclAccessSpec,
-    ZigClangDeclBlock,
-    ZigClangDeclCaptured,
-    ZigClangDeclClassScopeFunctionSpecialization,
-    ZigClangDeclEmpty,
-    ZigClangDeclExport,
-    ZigClangDeclExternCContext,
-    ZigClangDeclFileScopeAsm,
-    ZigClangDeclFriend,
-    ZigClangDeclFriendTemplate,
-    ZigClangDeclImplicitConceptSpecialization,
-    ZigClangDeclImport,
-    ZigClangDeclLifetimeExtendedTemporary,
+    ZigClangDeclTranslationUnit,
+    ZigClangDeclRequiresExprBody,
     ZigClangDeclLinkageSpec,
-    ZigClangDeclUsing,
-    ZigClangDeclUsingEnum,
-    ZigClangDeclHLSLBuffer,
-    ZigClangDeclLabel,
-    ZigClangDeclNamespace,
-    ZigClangDeclNamespaceAlias,
-    ZigClangDeclObjCCompatibleAlias,
-    ZigClangDeclObjCCategory,
-    ZigClangDeclObjCCategoryImpl,
-    ZigClangDeclObjCImplementation,
-    ZigClangDeclObjCInterface,
-    ZigClangDeclObjCProtocol,
+    ZigClangDeclExternCContext,
+    ZigClangDeclExport,
+    ZigClangDeclCaptured,
+    ZigClangDeclBlock,
+    ZigClangDeclTopLevelStmt,
+    ZigClangDeclStaticAssert,
+    ZigClangDeclPragmaDetectMismatch,
+    ZigClangDeclPragmaComment,
+    ZigClangDeclObjCPropertyImpl,
+    ZigClangDeclOMPThreadPrivate,
+    ZigClangDeclOMPRequires,
+    ZigClangDeclOMPAllocate,
     ZigClangDeclObjCMethod,
-    ZigClangDeclObjCProperty,
-    ZigClangDeclBuiltinTemplate,
-    ZigClangDeclConcept,
-    ZigClangDeclClassTemplate,
-    ZigClangDeclFunctionTemplate,
-    ZigClangDeclTypeAliasTemplate,
-    ZigClangDeclVarTemplate,
-    ZigClangDeclTemplateTemplateParm,
-    ZigClangDeclEnum,
-    ZigClangDeclRecord,
-    ZigClangDeclCXXRecord,
-    ZigClangDeclClassTemplateSpecialization,
-    ZigClangDeclClassTemplatePartialSpecialization,
-    ZigClangDeclTemplateTypeParm,
-    ZigClangDeclObjCTypeParam,
-    ZigClangDeclTypeAlias,
-    ZigClangDeclTypedef,
-    ZigClangDeclUnresolvedUsingTypename,
-    ZigClangDeclUnresolvedUsingIfExists,
-    ZigClangDeclUsingDirective,
-    ZigClangDeclUsingPack,
-    ZigClangDeclUsingShadow,
-    ZigClangDeclConstructorUsingShadow,
-    ZigClangDeclBinding,
-    ZigClangDeclField,
-    ZigClangDeclObjCAtDefsField,
-    ZigClangDeclObjCIvar,
+    ZigClangDeclObjCProtocol,
+    ZigClangDeclObjCInterface,
+    ZigClangDeclObjCImplementation,
+    ZigClangDeclObjCCategoryImpl,
+    ZigClangDeclObjCCategory,
+    ZigClangDeclNamespace,
+    ZigClangDeclHLSLBuffer,
+    ZigClangDeclOMPDeclareReduction,
+    ZigClangDeclOMPDeclareMapper,
+    ZigClangDeclUnresolvedUsingValue,
+    ZigClangDeclUnnamedGlobalConstant,
+    ZigClangDeclTemplateParamObject,
+    ZigClangDeclMSGuid,
+    ZigClangDeclIndirectField,
+    ZigClangDeclEnumConstant,
     ZigClangDeclFunction,
-    ZigClangDeclCXXDeductionGuide,
     ZigClangDeclCXXMethod,
-    ZigClangDeclCXXConstructor,
-    ZigClangDeclCXXConversion,
     ZigClangDeclCXXDestructor,
-    ZigClangDeclMSProperty,
-    ZigClangDeclNonTypeTemplateParm,
+    ZigClangDeclCXXConversion,
+    ZigClangDeclCXXConstructor,
+    ZigClangDeclCXXDeductionGuide,
     ZigClangDeclVar,
-    ZigClangDeclDecomposition,
-    ZigClangDeclImplicitParam,
-    ZigClangDeclOMPCapturedExpr,
-    ZigClangDeclParmVar,
     ZigClangDeclVarTemplateSpecialization,
     ZigClangDeclVarTemplatePartialSpecialization,
-    ZigClangDeclEnumConstant,
-    ZigClangDeclIndirectField,
-    ZigClangDeclMSGuid,
-    ZigClangDeclOMPDeclareMapper,
-    ZigClangDeclOMPDeclareReduction,
-    ZigClangDeclTemplateParamObject,
-    ZigClangDeclUnnamedGlobalConstant,
-    ZigClangDeclUnresolvedUsingValue,
-    ZigClangDeclOMPAllocate,
-    ZigClangDeclOMPRequires,
-    ZigClangDeclOMPThreadPrivate,
-    ZigClangDeclObjCPropertyImpl,
-    ZigClangDeclPragmaComment,
-    ZigClangDeclPragmaDetectMismatch,
-    ZigClangDeclRequiresExprBody,
-    ZigClangDeclStaticAssert,
-    ZigClangDeclTopLevelStmt,
-    ZigClangDeclTranslationUnit,
+    ZigClangDeclParmVar,
+    ZigClangDeclOMPCapturedExpr,
+    ZigClangDeclImplicitParam,
+    ZigClangDeclDecomposition,
+    ZigClangDeclNonTypeTemplateParm,
+    ZigClangDeclMSProperty,
+    ZigClangDeclField,
+    ZigClangDeclObjCIvar,
+    ZigClangDeclObjCAtDefsField,
+    ZigClangDeclBinding,
+    ZigClangDeclUsingShadow,
+    ZigClangDeclConstructorUsingShadow,
+    ZigClangDeclUsingPack,
+    ZigClangDeclUsingDirective,
+    ZigClangDeclUnresolvedUsingIfExists,
+    ZigClangDeclRecord,
+    ZigClangDeclCXXRecord,
+    ZigClangDeclClassTemplateSpecialization,
+    ZigClangDeclClassTemplatePartialSpecialization,
+    ZigClangDeclEnum,
+    ZigClangDeclUnresolvedUsingTypename,
+    ZigClangDeclTypedef,
+    ZigClangDeclTypeAlias,
+    ZigClangDeclObjCTypeParam,
+    ZigClangDeclTemplateTypeParm,
+    ZigClangDeclTemplateTemplateParm,
+    ZigClangDeclVarTemplate,
+    ZigClangDeclTypeAliasTemplate,
+    ZigClangDeclFunctionTemplate,
+    ZigClangDeclClassTemplate,
+    ZigClangDeclConcept,
+    ZigClangDeclBuiltinTemplate,
+    ZigClangDeclObjCProperty,
+    ZigClangDeclObjCCompatibleAlias,
+    ZigClangDeclNamespaceAlias,
+    ZigClangDeclLabel,
+    ZigClangDeclUsingEnum,
+    ZigClangDeclUsing,
+    ZigClangDeclLifetimeExtendedTemporary,
+    ZigClangDeclImport,
+    ZigClangDeclImplicitConceptSpecialization,
+    ZigClangDeclFriendTemplate,
+    ZigClangDeclFriend,
+    ZigClangDeclFileScopeAsm,
+    ZigClangDeclEmpty,
+    ZigClangDeclAccessSpec,
 };
 
 enum ZigClangBuiltinTypeKind {
@@ -848,6 +848,12 @@ enum ZigClangBuiltinTypeKind {
     ZigClangBuiltinTypeRvvFloat16m2,
     ZigClangBuiltinTypeRvvFloat16m4,
     ZigClangBuiltinTypeRvvFloat16m8,
+    ZigClangBuiltinTypeRvvBFloat16mf4,
+    ZigClangBuiltinTypeRvvBFloat16mf2,
+    ZigClangBuiltinTypeRvvBFloat16m1,
+    ZigClangBuiltinTypeRvvBFloat16m2,
+    ZigClangBuiltinTypeRvvBFloat16m4,
+    ZigClangBuiltinTypeRvvBFloat16m8,
     ZigClangBuiltinTypeRvvFloat32mf2,
     ZigClangBuiltinTypeRvvFloat32m1,
     ZigClangBuiltinTypeRvvFloat32m2,
@@ -1090,6 +1096,31 @@ enum ZigClangBuiltinTypeKind {
     ZigClangBuiltinTypeRvvFloat64m2x3,
     ZigClangBuiltinTypeRvvFloat64m2x4,
     ZigClangBuiltinTypeRvvFloat64m4x2,
+    ZigClangBuiltinTypeRvvBFloat16mf4x2,
+    ZigClangBuiltinTypeRvvBFloat16mf4x3,
+    ZigClangBuiltinTypeRvvBFloat16mf4x4,
+    ZigClangBuiltinTypeRvvBFloat16mf4x5,
+    ZigClangBuiltinTypeRvvBFloat16mf4x6,
+    ZigClangBuiltinTypeRvvBFloat16mf4x7,
+    ZigClangBuiltinTypeRvvBFloat16mf4x8,
+    ZigClangBuiltinTypeRvvBFloat16mf2x2,
+    ZigClangBuiltinTypeRvvBFloat16mf2x3,
+    ZigClangBuiltinTypeRvvBFloat16mf2x4,
+    ZigClangBuiltinTypeRvvBFloat16mf2x5,
+    ZigClangBuiltinTypeRvvBFloat16mf2x6,
+    ZigClangBuiltinTypeRvvBFloat16mf2x7,
+    ZigClangBuiltinTypeRvvBFloat16mf2x8,
+    ZigClangBuiltinTypeRvvBFloat16m1x2,
+    ZigClangBuiltinTypeRvvBFloat16m1x3,
+    ZigClangBuiltinTypeRvvBFloat16m1x4,
+    ZigClangBuiltinTypeRvvBFloat16m1x5,
+    ZigClangBuiltinTypeRvvBFloat16m1x6,
+    ZigClangBuiltinTypeRvvBFloat16m1x7,
+    ZigClangBuiltinTypeRvvBFloat16m1x8,
+    ZigClangBuiltinTypeRvvBFloat16m2x2,
+    ZigClangBuiltinTypeRvvBFloat16m2x3,
+    ZigClangBuiltinTypeRvvBFloat16m2x4,
+    ZigClangBuiltinTypeRvvBFloat16m4x2,
     ZigClangBuiltinTypeWasmExternRef,
     ZigClangBuiltinTypeVoid,
     ZigClangBuiltinTypeBool,
@@ -1239,12 +1270,12 @@ enum ZigClangStringLiteral_StringKind {
     ZigClangStringLiteral_StringKind_UTF32,
 };
 
-enum ZigClangCharacterLiteral_CharacterKind {
-    ZigClangCharacterLiteral_CharacterKind_Ascii,
-    ZigClangCharacterLiteral_CharacterKind_Wide,
-    ZigClangCharacterLiteral_CharacterKind_UTF8,
-    ZigClangCharacterLiteral_CharacterKind_UTF16,
-    ZigClangCharacterLiteral_CharacterKind_UTF32,
+enum ZigClangCharacterLiteralKind {
+    ZigClangCharacterLiteralKind_Ascii,
+    ZigClangCharacterLiteralKind_Wide,
+    ZigClangCharacterLiteralKind_UTF8,
+    ZigClangCharacterLiteralKind_UTF16,
+    ZigClangCharacterLiteralKind_UTF32,
 };
 
 enum ZigClangVarDecl_TLSKind {
@@ -1254,13 +1285,13 @@ enum ZigClangVarDecl_TLSKind {
 };
 
 enum ZigClangElaboratedTypeKeyword {
-    ZigClangETK_Struct,
-    ZigClangETK_Interface,
-    ZigClangETK_Union,
-    ZigClangETK_Class,
-    ZigClangETK_Enum,
-    ZigClangETK_Typename,
-    ZigClangETK_None,
+    ZigClangElaboratedTypeKeyword_Struct,
+    ZigClangElaboratedTypeKeyword_Interface,
+    ZigClangElaboratedTypeKeyword_Union,
+    ZigClangElaboratedTypeKeyword_Class,
+    ZigClangElaboratedTypeKeyword_Enum,
+    ZigClangElaboratedTypeKeyword_Typename,
+    ZigClangElaboratedTypeKeyword_None,
 };
 
 enum ZigClangPreprocessedEntity_EntityKind {
@@ -1515,7 +1546,7 @@ ZIG_EXTERN_C struct ZigClangSourceLocation ZigClangFloatingLiteral_getBeginLoc(c
 ZIG_EXTERN_C ZigClangAPFloatBase_Semantics ZigClangFloatingLiteral_getRawSemantics(const ZigClangFloatingLiteral *self);
 
 
-ZIG_EXTERN_C enum ZigClangCharacterLiteral_CharacterKind ZigClangStringLiteral_getKind(
+ZIG_EXTERN_C enum ZigClangCharacterLiteralKind ZigClangStringLiteral_getKind(
         const struct ZigClangStringLiteral *self);
 ZIG_EXTERN_C uint32_t ZigClangStringLiteral_getCodeUnit(const struct ZigClangStringLiteral *self, size_t i);
 ZIG_EXTERN_C unsigned ZigClangStringLiteral_getLength(const struct ZigClangStringLiteral *self);
@@ -1591,7 +1622,7 @@ ZIG_EXTERN_C enum ZigClangCK ZigClangCastExpr_getCastKind(const struct ZigClangC
 ZIG_EXTERN_C const struct ZigClangFieldDecl *ZigClangCastExpr_getTargetFieldForToUnionCast(const struct ZigClangCastExpr *, struct ZigClangQualType, struct ZigClangQualType);
 
 ZIG_EXTERN_C struct ZigClangSourceLocation ZigClangCharacterLiteral_getBeginLoc(const struct ZigClangCharacterLiteral *);
-ZIG_EXTERN_C enum ZigClangCharacterLiteral_CharacterKind ZigClangCharacterLiteral_getKind(const struct ZigClangCharacterLiteral *);
+ZIG_EXTERN_C enum ZigClangCharacterLiteralKind ZigClangCharacterLiteral_getKind(const struct ZigClangCharacterLiteral *);
 ZIG_EXTERN_C unsigned ZigClangCharacterLiteral_getValue(const struct ZigClangCharacterLiteral *);
 
 ZIG_EXTERN_C const struct ZigClangExpr *ZigClangChooseExpr_getChosenSubExpr(const struct ZigClangChooseExpr *);