authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-08-23 04:32:32+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-09-19 18:20:20-07:00
log41e5acd89d17b9b032377ba1d5f4d65d965e4d2a
treeb11a529c3f7de2ab4c873de50ef9a639c6406885
parent973ebeb610277334b014a040ccb0b951cdc38f1a

zig_clang: Update to Clang 19.

Co-authored-by: David Rubin <daviru007@icloud.com>

4 files changed, 100 insertions(+), 17 deletions(-)

src/clang.zig+24-3
...@@ -114,14 +114,21 @@ pub const APFloatBaseSemantics = enum(c_int) {...@@ -114,14 +114,21 @@ pub const APFloatBaseSemantics = enum(c_int) {
114 PPCDoubleDouble,114 PPCDoubleDouble,
115 Float8E5M2,115 Float8E5M2,
116 Float8E5M2FNUZ,116 Float8E5M2FNUZ,
117 Float8E4M3,
117 Float8E4M3FN,118 Float8E4M3FN,
118 Float8E4M3FNUZ,119 Float8E4M3FNUZ,
119 Float8E4M3B11FNUZ,120 Float8E4M3B11FNUZ,
120 FloatTF32,121 FloatTF32,
122 Float6E3M2FN,
123 Float6E2M3FN,
124 Float4E2M1FN,
121 x87DoubleExtended,125 x87DoubleExtended,
122};126};
123127
124pub const APInt = opaque {128pub const APInt = opaque {
129 pub const free = ZigClangAPInt_free;
130 extern fn ZigClangAPInt_free(*const APInt) void;
131
125 pub fn getLimitedValue(self: *const APInt, comptime T: type) T {132 pub fn getLimitedValue(self: *const APInt, comptime T: type) T {
126 return @as(T, @truncate(ZigClangAPInt_getLimitedValue(self, std.math.maxInt(T))));133 return @as(T, @truncate(ZigClangAPInt_getLimitedValue(self, std.math.maxInt(T))));
127 }134 }
...@@ -337,7 +344,7 @@ pub const ConstantArrayType = opaque {...@@ -337,7 +344,7 @@ pub const ConstantArrayType = opaque {
337 extern fn ZigClangConstantArrayType_getElementType(*const ConstantArrayType) QualType;344 extern fn ZigClangConstantArrayType_getElementType(*const ConstantArrayType) QualType;
338345
339 pub const getSize = ZigClangConstantArrayType_getSize;346 pub const getSize = ZigClangConstantArrayType_getSize;
340 extern fn ZigClangConstantArrayType_getSize(*const ConstantArrayType) *const APInt;347 extern fn ZigClangConstantArrayType_getSize(*const ConstantArrayType, **const APInt) void;
341};348};
342349
343pub const ConstantExpr = opaque {};350pub const ConstantExpr = opaque {};
...@@ -1135,6 +1142,7 @@ pub const TypeClass = enum(c_int) {...@@ -1135,6 +1142,7 @@ pub const TypeClass = enum(c_int) {
1135 Adjusted,1142 Adjusted,
1136 Decayed,1143 Decayed,
1137 ConstantArray,1144 ConstantArray,
1145 ArrayParameter,
1138 DependentSizedArray,1146 DependentSizedArray,
1139 IncompleteArray,1147 IncompleteArray,
1140 VariableArray,1148 VariableArray,
...@@ -1143,6 +1151,7 @@ pub const TypeClass = enum(c_int) {...@@ -1143,6 +1151,7 @@ pub const TypeClass = enum(c_int) {
1143 BTFTagAttributed,1151 BTFTagAttributed,
1144 BitInt,1152 BitInt,
1145 BlockPointer,1153 BlockPointer,
1154 CountAttributed,
1146 Builtin,1155 Builtin,
1147 Complex,1156 Complex,
1148 Decltype,1157 Decltype,
...@@ -1167,6 +1176,7 @@ pub const TypeClass = enum(c_int) {...@@ -1167,6 +1176,7 @@ pub const TypeClass = enum(c_int) {
1167 ObjCInterface,1176 ObjCInterface,
1168 ObjCTypeParam,1177 ObjCTypeParam,
1169 PackExpansion,1178 PackExpansion,
1179 PackIndexing,
1170 Paren,1180 Paren,
1171 Pipe,1181 Pipe,
1172 Pointer,1182 Pointer,
...@@ -1211,6 +1221,7 @@ const StmtClass = enum(c_int) {...@@ -1211,6 +1221,7 @@ const StmtClass = enum(c_int) {
1211 PredefinedExprClass,1221 PredefinedExprClass,
1212 ParenListExprClass,1222 ParenListExprClass,
1213 ParenExprClass,1223 ParenExprClass,
1224 PackIndexingExprClass,
1214 PackExpansionExprClass,1225 PackExpansionExprClass,
1215 UnresolvedMemberExprClass,1226 UnresolvedMemberExprClass,
1216 UnresolvedLookupExprClass,1227 UnresolvedLookupExprClass,
...@@ -1233,7 +1244,6 @@ const StmtClass = enum(c_int) {...@@ -1233,7 +1244,6 @@ const StmtClass = enum(c_int) {
1233 ObjCArrayLiteralClass,1244 ObjCArrayLiteralClass,
1234 OMPIteratorExprClass,1245 OMPIteratorExprClass,
1235 OMPArrayShapingExprClass,1246 OMPArrayShapingExprClass,
1236 OMPArraySectionExprClass,
1237 NoInitExprClass,1247 NoInitExprClass,
1238 MemberExprClass,1248 MemberExprClass,
1239 MatrixSubscriptExprClass,1249 MatrixSubscriptExprClass,
...@@ -1254,6 +1264,7 @@ const StmtClass = enum(c_int) {...@@ -1254,6 +1264,7 @@ const StmtClass = enum(c_int) {
1254 FixedPointLiteralClass,1264 FixedPointLiteralClass,
1255 ExtVectorElementExprClass,1265 ExtVectorElementExprClass,
1256 ExpressionTraitExprClass,1266 ExpressionTraitExprClass,
1267 EmbedExprClass,
1257 DesignatedInitUpdateExprClass,1268 DesignatedInitUpdateExprClass,
1258 DesignatedInitExprClass,1269 DesignatedInitExprClass,
1259 DependentScopeDeclRefExprClass,1270 DependentScopeDeclRefExprClass,
...@@ -1311,6 +1322,7 @@ const StmtClass = enum(c_int) {...@@ -1311,6 +1322,7 @@ const StmtClass = enum(c_int) {
1311 AsTypeExprClass,1322 AsTypeExprClass,
1312 ArrayTypeTraitExprClass,1323 ArrayTypeTraitExprClass,
1313 ArraySubscriptExprClass,1324 ArraySubscriptExprClass,
1325 ArraySectionExprClass,
1314 ArrayInitLoopExprClass,1326 ArrayInitLoopExprClass,
1315 ArrayInitIndexExprClass,1327 ArrayInitIndexExprClass,
1316 AddrLabelExprClass,1328 AddrLabelExprClass,
...@@ -1325,6 +1337,8 @@ const StmtClass = enum(c_int) {...@@ -1325,6 +1337,8 @@ const StmtClass = enum(c_int) {
1325 SEHFinallyStmtClass,1337 SEHFinallyStmtClass,
1326 SEHExceptStmtClass,1338 SEHExceptStmtClass,
1327 ReturnStmtClass,1339 ReturnStmtClass,
1340 OpenACCLoopConstructClass,
1341 OpenACCComputeConstructClass,
1328 ObjCForCollectionStmtClass,1342 ObjCForCollectionStmtClass,
1329 ObjCAutoreleasePoolStmtClass,1343 ObjCAutoreleasePoolStmtClass,
1330 ObjCAtTryStmtClass,1344 ObjCAtTryStmtClass,
...@@ -1360,6 +1374,8 @@ const StmtClass = enum(c_int) {...@@ -1360,6 +1374,8 @@ const StmtClass = enum(c_int) {
1360 OMPMaskedDirectiveClass,1374 OMPMaskedDirectiveClass,
1361 OMPUnrollDirectiveClass,1375 OMPUnrollDirectiveClass,
1362 OMPTileDirectiveClass,1376 OMPTileDirectiveClass,
1377 OMPReverseDirectiveClass,
1378 OMPInterchangeDirectiveClass,
1363 OMPTeamsGenericLoopDirectiveClass,1379 OMPTeamsGenericLoopDirectiveClass,
1364 OMPTeamsDistributeSimdDirectiveClass,1380 OMPTeamsDistributeSimdDirectiveClass,
1365 OMPTeamsDistributeParallelForSimdDirectiveClass,1381 OMPTeamsDistributeParallelForSimdDirectiveClass,
...@@ -1496,13 +1512,13 @@ pub const CK = enum(c_int) {...@@ -1496,13 +1512,13 @@ pub const CK = enum(c_int) {
14961512
1497pub const DeclKind = enum(c_int) {1513pub const DeclKind = enum(c_int) {
1498 TranslationUnit,1514 TranslationUnit,
1515 TopLevelStmt,
1499 RequiresExprBody,1516 RequiresExprBody,
1500 LinkageSpec,1517 LinkageSpec,
1501 ExternCContext,1518 ExternCContext,
1502 Export,1519 Export,
1503 Captured,1520 Captured,
1504 Block,1521 Block,
1505 TopLevelStmt,
1506 StaticAssert,1522 StaticAssert,
1507 PragmaDetectMismatch,1523 PragmaDetectMismatch,
1508 PragmaComment,1524 PragmaComment,
...@@ -2010,6 +2026,7 @@ pub const BuiltinTypeKind = enum(c_int) {...@@ -2010,6 +2026,7 @@ pub const BuiltinTypeKind = enum(c_int) {
2010 RvvBFloat16m2x4,2026 RvvBFloat16m2x4,
2011 RvvBFloat16m4x2,2027 RvvBFloat16m4x2,
2012 WasmExternRef,2028 WasmExternRef,
2029 AMDGPUBufferRsrc,
2013 Void,2030 Void,
2014 Bool,2031 Bool,
2015 Char_U,2032 Char_U,
...@@ -2075,6 +2092,7 @@ pub const BuiltinTypeKind = enum(c_int) {...@@ -2075,6 +2092,7 @@ pub const BuiltinTypeKind = enum(c_int) {
2075 Dependent,2092 Dependent,
2076 Overload,2093 Overload,
2077 BoundMember,2094 BoundMember,
2095 UnresolvedTemplate,
2078 PseudoObject,2096 PseudoObject,
2079 UnknownAny,2097 UnknownAny,
2080 BuiltinFn,2098 BuiltinFn,
...@@ -2108,6 +2126,8 @@ pub const CallingConv = enum(c_int) {...@@ -2108,6 +2126,8 @@ pub const CallingConv = enum(c_int) {
2108 AArch64SVEPCS,2126 AArch64SVEPCS,
2109 AMDGPUKernelCall,2127 AMDGPUKernelCall,
2110 M68kRTD,2128 M68kRTD,
2129 PreserveNone,
2130 RISCVVectorCall,
2111};2131};
21122132
2113pub const StorageClass = enum(c_int) {2133pub const StorageClass = enum(c_int) {
...@@ -2172,6 +2192,7 @@ pub const UnaryExprOrTypeTrait_Kind = enum(c_int) {...@@ -2172,6 +2192,7 @@ pub const UnaryExprOrTypeTrait_Kind = enum(c_int) {
2172 DataSizeOf,2192 DataSizeOf,
2173 AlignOf,2193 AlignOf,
2174 PreferredAlignOf,2194 PreferredAlignOf,
2195 PtrAuthTypeDiscriminator,
2175 VecStep,2196 VecStep,
2176 OpenMPRequiredSimdAlign,2197 OpenMPRequiredSimdAlign,
2177};2198};
src/translate_c.zig+7-2
...@@ -2644,7 +2644,9 @@ fn transInitListExprArray(...@@ -2644,7 +2644,9 @@ fn transInitListExprArray(
2644 const init_count = expr.getNumInits();2644 const init_count = expr.getNumInits();
2645 assert(@as(*const clang.Type, @ptrCast(arr_type)).isConstantArrayType());2645 assert(@as(*const clang.Type, @ptrCast(arr_type)).isConstantArrayType());
2646 const const_arr_ty = @as(*const clang.ConstantArrayType, @ptrCast(arr_type));2646 const const_arr_ty = @as(*const clang.ConstantArrayType, @ptrCast(arr_type));
2647 const size_ap_int = const_arr_ty.getSize();2647 var size_ap_int: *const clang.APInt = undefined;
2648 const_arr_ty.getSize(&size_ap_int);
2649 defer size_ap_int.free();
2648 const all_count = size_ap_int.getLimitedValue(usize);2650 const all_count = size_ap_int.getLimitedValue(usize);
2649 const leftover_count = all_count - init_count;2651 const leftover_count = all_count - init_count;
26502652
...@@ -3665,6 +3667,7 @@ fn transUnaryExprOrTypeTraitExpr(...@@ -3665,6 +3667,7 @@ fn transUnaryExprOrTypeTraitExpr(
3665 .AlignOf => try Tag.alignof.create(c.arena, type_node),3667 .AlignOf => try Tag.alignof.create(c.arena, type_node),
3666 .DataSizeOf,3668 .DataSizeOf,
3667 .PreferredAlignOf,3669 .PreferredAlignOf,
3670 .PtrAuthTypeDiscriminator,
3668 .VecStep,3671 .VecStep,
3669 .OpenMPRequiredSimdAlign,3672 .OpenMPRequiredSimdAlign,
3670 => return fail(3673 => return fail(
...@@ -4793,7 +4796,9 @@ fn transType(c: *Context, scope: *Scope, ty: *const clang.Type, source_loc: clan...@@ -4793,7 +4796,9 @@ fn transType(c: *Context, scope: *Scope, ty: *const clang.Type, source_loc: clan
4793 .ConstantArray => {4796 .ConstantArray => {
4794 const const_arr_ty = @as(*const clang.ConstantArrayType, @ptrCast(ty));4797 const const_arr_ty = @as(*const clang.ConstantArrayType, @ptrCast(ty));
47954798
4796 const size_ap_int = const_arr_ty.getSize();4799 var size_ap_int: *const clang.APInt = undefined;
4800 const_arr_ty.getSize(&size_ap_int);
4801 defer size_ap_int.free();
4797 const size = size_ap_int.getLimitedValue(usize);4802 const size = size_ap_int.getLimitedValue(usize);
4798 const elem_type = try transType(c, scope, const_arr_ty.getElementType().getTypePtr(), source_loc);4803 const elem_type = try transType(c, scope, const_arr_ty.getElementType().getTypePtr(), source_loc);
47994804
src/zig_clang.cpp+47-9
...@@ -208,6 +208,8 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {...@@ -208,6 +208,8 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
208 case clang::CK_UserDefinedConversion:208 case clang::CK_UserDefinedConversion:
209 case clang::CK_VectorSplat:209 case clang::CK_VectorSplat:
210 case clang::CK_ZeroToOCLOpaqueType:210 case clang::CK_ZeroToOCLOpaqueType:
211 case clang::CK_HLSLVectorTruncation:
212 case clang::CK_HLSLArrayRValue:
211 break;213 break;
212 }214 }
213};215};
...@@ -285,10 +287,12 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {...@@ -285,10 +287,12 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
285 case clang::Type::Complex:287 case clang::Type::Complex:
286 case clang::Type::Pointer:288 case clang::Type::Pointer:
287 case clang::Type::BlockPointer:289 case clang::Type::BlockPointer:
290 case clang::Type::CountAttributed:
288 case clang::Type::LValueReference:291 case clang::Type::LValueReference:
289 case clang::Type::RValueReference:292 case clang::Type::RValueReference:
290 case clang::Type::MemberPointer:293 case clang::Type::MemberPointer:
291 case clang::Type::ConstantArray:294 case clang::Type::ConstantArray:
295 case clang::Type::ArrayParameter:
292 case clang::Type::IncompleteArray:296 case clang::Type::IncompleteArray:
293 case clang::Type::VariableArray:297 case clang::Type::VariableArray:
294 case clang::Type::DependentSizedArray:298 case clang::Type::DependentSizedArray:
...@@ -329,6 +333,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {...@@ -329,6 +333,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
329 case clang::Type::DependentName:333 case clang::Type::DependentName:
330 case clang::Type::DependentTemplateSpecialization:334 case clang::Type::DependentTemplateSpecialization:
331 case clang::Type::PackExpansion:335 case clang::Type::PackExpansion:
336 case clang::Type::PackIndexing:
332 case clang::Type::ObjCTypeParam:337 case clang::Type::ObjCTypeParam:
333 case clang::Type::ObjCObject:338 case clang::Type::ObjCObject:
334 case clang::Type::ObjCInterface:339 case clang::Type::ObjCInterface:
...@@ -342,6 +347,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {...@@ -342,6 +347,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
342static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, "");347static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, "");
343static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, "");348static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, "");
344static_assert((clang::Type::TypeClass)ZigClangType_ConstantArray == clang::Type::ConstantArray, "");349static_assert((clang::Type::TypeClass)ZigClangType_ConstantArray == clang::Type::ConstantArray, "");
350static_assert((clang::Type::TypeClass)ZigClangType_ArrayParameter == clang::Type::ArrayParameter, "");
345static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedArray == clang::Type::DependentSizedArray, "");351static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedArray == clang::Type::DependentSizedArray, "");
346static_assert((clang::Type::TypeClass)ZigClangType_IncompleteArray == clang::Type::IncompleteArray, "");352static_assert((clang::Type::TypeClass)ZigClangType_IncompleteArray == clang::Type::IncompleteArray, "");
347static_assert((clang::Type::TypeClass)ZigClangType_VariableArray == clang::Type::VariableArray, "");353static_assert((clang::Type::TypeClass)ZigClangType_VariableArray == clang::Type::VariableArray, "");
...@@ -350,6 +356,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_Attributed == clang::Type::At...@@ -350,6 +356,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_Attributed == clang::Type::At
350static_assert((clang::Type::TypeClass)ZigClangType_BTFTagAttributed == clang::Type::BTFTagAttributed, "");356static_assert((clang::Type::TypeClass)ZigClangType_BTFTagAttributed == clang::Type::BTFTagAttributed, "");
351static_assert((clang::Type::TypeClass)ZigClangType_BitInt == clang::Type::BitInt, "");357static_assert((clang::Type::TypeClass)ZigClangType_BitInt == clang::Type::BitInt, "");
352static_assert((clang::Type::TypeClass)ZigClangType_BlockPointer == clang::Type::BlockPointer, "");358static_assert((clang::Type::TypeClass)ZigClangType_BlockPointer == clang::Type::BlockPointer, "");
359static_assert((clang::Type::TypeClass)ZigClangType_CountAttributed == clang::Type::CountAttributed, "");
353static_assert((clang::Type::TypeClass)ZigClangType_Builtin == clang::Type::Builtin, "");360static_assert((clang::Type::TypeClass)ZigClangType_Builtin == clang::Type::Builtin, "");
354static_assert((clang::Type::TypeClass)ZigClangType_Complex == clang::Type::Complex, "");361static_assert((clang::Type::TypeClass)ZigClangType_Complex == clang::Type::Complex, "");
355static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decltype, "");362static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decltype, "");
...@@ -374,6 +381,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::Ob...@@ -374,6 +381,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::Ob
374static_assert((clang::Type::TypeClass)ZigClangType_ObjCInterface == clang::Type::ObjCInterface, "");381static_assert((clang::Type::TypeClass)ZigClangType_ObjCInterface == clang::Type::ObjCInterface, "");
375static_assert((clang::Type::TypeClass)ZigClangType_ObjCTypeParam == clang::Type::ObjCTypeParam, "");382static_assert((clang::Type::TypeClass)ZigClangType_ObjCTypeParam == clang::Type::ObjCTypeParam, "");
376static_assert((clang::Type::TypeClass)ZigClangType_PackExpansion == clang::Type::PackExpansion, "");383static_assert((clang::Type::TypeClass)ZigClangType_PackExpansion == clang::Type::PackExpansion, "");
384static_assert((clang::Type::TypeClass)ZigClangType_PackIndexing == clang::Type::PackIndexing, "");
377static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, "");385static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, "");
378static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");386static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");
379static_assert((clang::Type::TypeClass)ZigClangType_Pointer == clang::Type::Pointer, "");387static_assert((clang::Type::TypeClass)ZigClangType_Pointer == clang::Type::Pointer, "");
...@@ -419,6 +427,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -419,6 +427,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
419 case clang::Stmt::PredefinedExprClass:427 case clang::Stmt::PredefinedExprClass:
420 case clang::Stmt::ParenListExprClass:428 case clang::Stmt::ParenListExprClass:
421 case clang::Stmt::ParenExprClass:429 case clang::Stmt::ParenExprClass:
430 case clang::Stmt::PackIndexingExprClass:
422 case clang::Stmt::PackExpansionExprClass:431 case clang::Stmt::PackExpansionExprClass:
423 case clang::Stmt::UnresolvedMemberExprClass:432 case clang::Stmt::UnresolvedMemberExprClass:
424 case clang::Stmt::UnresolvedLookupExprClass:433 case clang::Stmt::UnresolvedLookupExprClass:
...@@ -441,7 +450,6 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -441,7 +450,6 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
441 case clang::Stmt::ObjCArrayLiteralClass:450 case clang::Stmt::ObjCArrayLiteralClass:
442 case clang::Stmt::OMPIteratorExprClass:451 case clang::Stmt::OMPIteratorExprClass:
443 case clang::Stmt::OMPArrayShapingExprClass:452 case clang::Stmt::OMPArrayShapingExprClass:
444 case clang::Stmt::OMPArraySectionExprClass:
445 case clang::Stmt::NoInitExprClass:453 case clang::Stmt::NoInitExprClass:
446 case clang::Stmt::MemberExprClass:454 case clang::Stmt::MemberExprClass:
447 case clang::Stmt::MatrixSubscriptExprClass:455 case clang::Stmt::MatrixSubscriptExprClass:
...@@ -462,6 +470,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -462,6 +470,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
462 case clang::Stmt::FixedPointLiteralClass:470 case clang::Stmt::FixedPointLiteralClass:
463 case clang::Stmt::ExtVectorElementExprClass:471 case clang::Stmt::ExtVectorElementExprClass:
464 case clang::Stmt::ExpressionTraitExprClass:472 case clang::Stmt::ExpressionTraitExprClass:
473 case clang::Stmt::EmbedExprClass:
465 case clang::Stmt::DesignatedInitUpdateExprClass:474 case clang::Stmt::DesignatedInitUpdateExprClass:
466 case clang::Stmt::DesignatedInitExprClass:475 case clang::Stmt::DesignatedInitExprClass:
467 case clang::Stmt::DependentScopeDeclRefExprClass:476 case clang::Stmt::DependentScopeDeclRefExprClass:
...@@ -519,6 +528,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -519,6 +528,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
519 case clang::Stmt::AsTypeExprClass:528 case clang::Stmt::AsTypeExprClass:
520 case clang::Stmt::ArrayTypeTraitExprClass:529 case clang::Stmt::ArrayTypeTraitExprClass:
521 case clang::Stmt::ArraySubscriptExprClass:530 case clang::Stmt::ArraySubscriptExprClass:
531 case clang::Stmt::ArraySectionExprClass:
522 case clang::Stmt::ArrayInitLoopExprClass:532 case clang::Stmt::ArrayInitLoopExprClass:
523 case clang::Stmt::ArrayInitIndexExprClass:533 case clang::Stmt::ArrayInitIndexExprClass:
524 case clang::Stmt::AddrLabelExprClass:534 case clang::Stmt::AddrLabelExprClass:
...@@ -533,6 +543,8 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -533,6 +543,8 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
533 case clang::Stmt::SEHFinallyStmtClass:543 case clang::Stmt::SEHFinallyStmtClass:
534 case clang::Stmt::SEHExceptStmtClass:544 case clang::Stmt::SEHExceptStmtClass:
535 case clang::Stmt::ReturnStmtClass:545 case clang::Stmt::ReturnStmtClass:
546 case clang::Stmt::OpenACCLoopConstructClass:
547 case clang::Stmt::OpenACCComputeConstructClass:
536 case clang::Stmt::ObjCForCollectionStmtClass:548 case clang::Stmt::ObjCForCollectionStmtClass:
537 case clang::Stmt::ObjCAutoreleasePoolStmtClass:549 case clang::Stmt::ObjCAutoreleasePoolStmtClass:
538 case clang::Stmt::ObjCAtTryStmtClass:550 case clang::Stmt::ObjCAtTryStmtClass:
...@@ -568,6 +580,8 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -568,6 +580,8 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
568 case clang::Stmt::OMPMaskedDirectiveClass:580 case clang::Stmt::OMPMaskedDirectiveClass:
569 case clang::Stmt::OMPUnrollDirectiveClass:581 case clang::Stmt::OMPUnrollDirectiveClass:
570 case clang::Stmt::OMPTileDirectiveClass:582 case clang::Stmt::OMPTileDirectiveClass:
583 case clang::Stmt::OMPReverseDirectiveClass:
584 case clang::Stmt::OMPInterchangeDirectiveClass:
571 case clang::Stmt::OMPTeamsGenericLoopDirectiveClass:585 case clang::Stmt::OMPTeamsGenericLoopDirectiveClass:
572 case clang::Stmt::OMPTeamsDistributeSimdDirectiveClass:586 case clang::Stmt::OMPTeamsDistributeSimdDirectiveClass:
573 case clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:587 case clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
...@@ -658,6 +672,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clan...@@ -658,6 +672,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clan
658static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");672static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");
659static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");673static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");
660static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt::ParenExprClass, "");674static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt::ParenExprClass, "");
675static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackIndexingExprClass == clang::Stmt::PackIndexingExprClass, "");
661static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");676static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");
662static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");677static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");
663static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");678static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");
...@@ -680,7 +695,6 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClas...@@ -680,7 +695,6 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClas
680static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");695static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");
681static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPIteratorExprClass == clang::Stmt::OMPIteratorExprClass, "");696static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPIteratorExprClass == clang::Stmt::OMPIteratorExprClass, "");
682static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArrayShapingExprClass == clang::Stmt::OMPArrayShapingExprClass, "");697static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArrayShapingExprClass == clang::Stmt::OMPArrayShapingExprClass, "");
683static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");
684static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");698static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");
685static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");699static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");
686static_assert((clang::Stmt::StmtClass)ZigClangStmt_MatrixSubscriptExprClass == clang::Stmt::MatrixSubscriptExprClass, "");700static_assert((clang::Stmt::StmtClass)ZigClangStmt_MatrixSubscriptExprClass == clang::Stmt::MatrixSubscriptExprClass, "");
...@@ -701,6 +715,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_FloatingLiteralClass == clang...@@ -701,6 +715,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_FloatingLiteralClass == clang
701static_assert((clang::Stmt::StmtClass)ZigClangStmt_FixedPointLiteralClass == clang::Stmt::FixedPointLiteralClass, "");715static_assert((clang::Stmt::StmtClass)ZigClangStmt_FixedPointLiteralClass == clang::Stmt::FixedPointLiteralClass, "");
702static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExtVectorElementExprClass == clang::Stmt::ExtVectorElementExprClass, "");716static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExtVectorElementExprClass == clang::Stmt::ExtVectorElementExprClass, "");
703static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExpressionTraitExprClass == clang::Stmt::ExpressionTraitExprClass, "");717static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExpressionTraitExprClass == clang::Stmt::ExpressionTraitExprClass, "");
718static_assert((clang::Stmt::StmtClass)ZigClangStmt_EmbedExprClass == clang::Stmt::EmbedExprClass, "");
704static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitUpdateExprClass == clang::Stmt::DesignatedInitUpdateExprClass, "");719static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitUpdateExprClass == clang::Stmt::DesignatedInitUpdateExprClass, "");
705static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitExprClass == clang::Stmt::DesignatedInitExprClass, "");720static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitExprClass == clang::Stmt::DesignatedInitExprClass, "");
706static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentScopeDeclRefExprClass == clang::Stmt::DependentScopeDeclRefExprClass, "");721static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentScopeDeclRefExprClass == clang::Stmt::DependentScopeDeclRefExprClass, "");
...@@ -758,6 +773,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_AtomicExprClass == clang::Stm...@@ -758,6 +773,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_AtomicExprClass == clang::Stm
758static_assert((clang::Stmt::StmtClass)ZigClangStmt_AsTypeExprClass == clang::Stmt::AsTypeExprClass, "");773static_assert((clang::Stmt::StmtClass)ZigClangStmt_AsTypeExprClass == clang::Stmt::AsTypeExprClass, "");
759static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayTypeTraitExprClass == clang::Stmt::ArrayTypeTraitExprClass, "");774static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayTypeTraitExprClass == clang::Stmt::ArrayTypeTraitExprClass, "");
760static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArraySubscriptExprClass == clang::Stmt::ArraySubscriptExprClass, "");775static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArraySubscriptExprClass == clang::Stmt::ArraySubscriptExprClass, "");
776static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArraySectionExprClass == clang::Stmt::ArraySectionExprClass, "");
761static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitLoopExprClass == clang::Stmt::ArrayInitLoopExprClass, "");777static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitLoopExprClass == clang::Stmt::ArrayInitLoopExprClass, "");
762static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitIndexExprClass == clang::Stmt::ArrayInitIndexExprClass, "");778static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitIndexExprClass == clang::Stmt::ArrayInitIndexExprClass, "");
763static_assert((clang::Stmt::StmtClass)ZigClangStmt_AddrLabelExprClass == clang::Stmt::AddrLabelExprClass, "");779static_assert((clang::Stmt::StmtClass)ZigClangStmt_AddrLabelExprClass == clang::Stmt::AddrLabelExprClass, "");
...@@ -772,6 +788,8 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::S...@@ -772,6 +788,8 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::S
772static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");788static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");
773static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");789static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");
774static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");790static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");
791static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCLoopConstructClass == clang::Stmt::OpenACCLoopConstructClass, "");
792static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCComputeConstructClass == clang::Stmt::OpenACCComputeConstructClass, "");
775static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");793static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");
776static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");794static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");
777static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");795static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");
...@@ -807,6 +825,8 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == cl...@@ -807,6 +825,8 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == cl
807static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedDirectiveClass == clang::Stmt::OMPMaskedDirectiveClass, "");825static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedDirectiveClass == clang::Stmt::OMPMaskedDirectiveClass, "");
808static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPUnrollDirectiveClass == clang::Stmt::OMPUnrollDirectiveClass, "");826static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPUnrollDirectiveClass == clang::Stmt::OMPUnrollDirectiveClass, "");
809static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTileDirectiveClass == clang::Stmt::OMPTileDirectiveClass, "");827static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTileDirectiveClass == clang::Stmt::OMPTileDirectiveClass, "");
828static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPReverseDirectiveClass == clang::Stmt::OMPReverseDirectiveClass, "");
829static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPInterchangeDirectiveClass == clang::Stmt::OMPInterchangeDirectiveClass, "");
810static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsGenericLoopDirectiveClass == clang::Stmt::OMPTeamsGenericLoopDirectiveClass, "");830static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsGenericLoopDirectiveClass == clang::Stmt::OMPTeamsGenericLoopDirectiveClass, "");
811static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");831static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");
812static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");832static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");
...@@ -1001,13 +1021,13 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {...@@ -1001,13 +1021,13 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
1001}1021}
10021022
1003static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");1023static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");
1024static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
1004static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");1025static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");
1005static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");1026static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
1006static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::ExternCContext, "");1027static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::ExternCContext, "");
1007static_assert((clang::Decl::Kind)ZigClangDeclExport == clang::Decl::Export, "");1028static_assert((clang::Decl::Kind)ZigClangDeclExport == clang::Decl::Export, "");
1008static_assert((clang::Decl::Kind)ZigClangDeclCaptured == clang::Decl::Captured, "");1029static_assert((clang::Decl::Kind)ZigClangDeclCaptured == clang::Decl::Captured, "");
1009static_assert((clang::Decl::Kind)ZigClangDeclBlock == clang::Decl::Block, "");1030static_assert((clang::Decl::Kind)ZigClangDeclBlock == clang::Decl::Block, "");
1010static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
1011static_assert((clang::Decl::Kind)ZigClangDeclStaticAssert == clang::Decl::StaticAssert, "");1031static_assert((clang::Decl::Kind)ZigClangDeclStaticAssert == clang::Decl::StaticAssert, "");
1012static_assert((clang::Decl::Kind)ZigClangDeclPragmaDetectMismatch == clang::Decl::PragmaDetectMismatch, "");1032static_assert((clang::Decl::Kind)ZigClangDeclPragmaDetectMismatch == clang::Decl::PragmaDetectMismatch, "");
1013static_assert((clang::Decl::Kind)ZigClangDeclPragmaComment == clang::Decl::PragmaComment, "");1033static_assert((clang::Decl::Kind)ZigClangDeclPragmaComment == clang::Decl::PragmaComment, "");
...@@ -1515,6 +1535,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {...@@ -1515,6 +1535,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
1515 case clang::BuiltinType::RvvBFloat16m2x4:1535 case clang::BuiltinType::RvvBFloat16m2x4:
1516 case clang::BuiltinType::RvvBFloat16m4x2:1536 case clang::BuiltinType::RvvBFloat16m4x2:
1517 case clang::BuiltinType::WasmExternRef:1537 case clang::BuiltinType::WasmExternRef:
1538 case clang::BuiltinType::AMDGPUBufferRsrc:
1518 case clang::BuiltinType::Void:1539 case clang::BuiltinType::Void:
1519 case clang::BuiltinType::Bool:1540 case clang::BuiltinType::Bool:
1520 case clang::BuiltinType::Char_U:1541 case clang::BuiltinType::Char_U:
...@@ -1580,14 +1601,15 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {...@@ -1580,14 +1601,15 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
1580 case clang::BuiltinType::Dependent:1601 case clang::BuiltinType::Dependent:
1581 case clang::BuiltinType::Overload:1602 case clang::BuiltinType::Overload:
1582 case clang::BuiltinType::BoundMember:1603 case clang::BuiltinType::BoundMember:
1604 case clang::BuiltinType::UnresolvedTemplate:
1583 case clang::BuiltinType::PseudoObject:1605 case clang::BuiltinType::PseudoObject:
1584 case clang::BuiltinType::UnknownAny:1606 case clang::BuiltinType::UnknownAny:
1585 case clang::BuiltinType::BuiltinFn:1607 case clang::BuiltinType::BuiltinFn:
1586 case clang::BuiltinType::ARCUnbridgedCast:1608 case clang::BuiltinType::ARCUnbridgedCast:
1587 case clang::BuiltinType::IncompleteMatrixIdx:1609 case clang::BuiltinType::IncompleteMatrixIdx:
1588 case clang::BuiltinType::OMPArraySection:
1589 case clang::BuiltinType::OMPArrayShaping:1610 case clang::BuiltinType::OMPArrayShaping:
1590 case clang::BuiltinType::OMPIterator:1611 case clang::BuiltinType::OMPIterator:
1612 case clang::BuiltinType::ArraySection:
1591 break;1613 break;
1592 }1614 }
1593}1615}
...@@ -2018,6 +2040,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x3 == cl...@@ -2018,6 +2040,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x3 == cl
2018static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x4 == clang::BuiltinType::RvvBFloat16m2x4, "");2040static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x4 == clang::BuiltinType::RvvBFloat16m2x4, "");
2019static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m4x2 == clang::BuiltinType::RvvBFloat16m4x2, "");2041static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m4x2 == clang::BuiltinType::RvvBFloat16m4x2, "");
2020static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeWasmExternRef == clang::BuiltinType::WasmExternRef, "");2042static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeWasmExternRef == clang::BuiltinType::WasmExternRef, "");
2043static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeAMDGPUBufferRsrc == clang::BuiltinType::AMDGPUBufferRsrc, "");
2021static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");2044static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
2022static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");2045static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
2023static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");2046static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
...@@ -2083,12 +2106,12 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLReserveID == clang...@@ -2083,12 +2106,12 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLReserveID == clang
2083static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeDependent == clang::BuiltinType::Dependent, "");2106static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeDependent == clang::BuiltinType::Dependent, "");
2084static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOverload == clang::BuiltinType::Overload, "");2107static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOverload == clang::BuiltinType::Overload, "");
2085static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBoundMember == clang::BuiltinType::BoundMember, "");2108static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBoundMember == clang::BuiltinType::BoundMember, "");
2109static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeUnresolvedTemplate == clang::BuiltinType::UnresolvedTemplate, "");
2086static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypePseudoObject == clang::BuiltinType::PseudoObject, "");2110static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypePseudoObject == clang::BuiltinType::PseudoObject, "");
2087static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeUnknownAny == clang::BuiltinType::UnknownAny, "");2111static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeUnknownAny == clang::BuiltinType::UnknownAny, "");
2088static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBuiltinFn == clang::BuiltinType::BuiltinFn, "");2112static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBuiltinFn == clang::BuiltinType::BuiltinFn, "");
2089static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeARCUnbridgedCast == clang::BuiltinType::ARCUnbridgedCast, "");2113static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeARCUnbridgedCast == clang::BuiltinType::ARCUnbridgedCast, "");
2090static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeIncompleteMatrixIdx == clang::BuiltinType::IncompleteMatrixIdx, "");2114static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeIncompleteMatrixIdx == clang::BuiltinType::IncompleteMatrixIdx, "");
2091static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArraySection == clang::BuiltinType::OMPArraySection, "");
2092static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArrayShaping == clang::BuiltinType::OMPArrayShaping, "");2115static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArrayShaping == clang::BuiltinType::OMPArrayShaping, "");
2093static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPIterator == clang::BuiltinType::OMPIterator, "");2116static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPIterator == clang::BuiltinType::OMPIterator, "");
20942117
...@@ -2116,6 +2139,8 @@ void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {...@@ -2116,6 +2139,8 @@ void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {
2116 case clang::CC_AArch64SVEPCS:2139 case clang::CC_AArch64SVEPCS:
2117 case clang::CC_AMDGPUKernelCall:2140 case clang::CC_AMDGPUKernelCall:
2118 case clang::CC_M68kRTD:2141 case clang::CC_M68kRTD:
2142 case clang::CC_PreserveNone:
2143 case clang::CC_RISCVVectorCall:
2119 break;2144 break;
2120 }2145 }
2121}2146}
...@@ -2142,6 +2167,8 @@ static_assert((clang::CallingConv)ZigClangCallingConv_AArch64VectorCall == clang...@@ -2142,6 +2167,8 @@ static_assert((clang::CallingConv)ZigClangCallingConv_AArch64VectorCall == clang
2142static_assert((clang::CallingConv)ZigClangCallingConv_AArch64SVEPCS == clang::CC_AArch64SVEPCS, "");2167static_assert((clang::CallingConv)ZigClangCallingConv_AArch64SVEPCS == clang::CC_AArch64SVEPCS, "");
2143static_assert((clang::CallingConv)ZigClangCallingConv_AMDGPUKernelCall == clang::CC_AMDGPUKernelCall, "");2168static_assert((clang::CallingConv)ZigClangCallingConv_AMDGPUKernelCall == clang::CC_AMDGPUKernelCall, "");
2144static_assert((clang::CallingConv)ZigClangCallingConv_M68kRTD == clang::CC_M68kRTD, "");2169static_assert((clang::CallingConv)ZigClangCallingConv_M68kRTD == clang::CC_M68kRTD, "");
2170static_assert((clang::CallingConv)ZigClangCallingConv_PreserveNone == clang::CC_PreserveNone, "");
2171static_assert((clang::CallingConv)ZigClangCallingConv_RISCVVectorCall == clang::CC_RISCVVectorCall, "");
21452172
2146void ZigClang_detect_enum_StorageClass(clang::StorageClass x) {2173void ZigClang_detect_enum_StorageClass(clang::StorageClass x) {
2147 switch (x) {2174 switch (x) {
...@@ -2251,6 +2278,7 @@ static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::Zi...@@ -2251,6 +2278,7 @@ static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::Zi
2251static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindDataSizeOf == clang::UnaryExprOrTypeTrait::UETT_DataSizeOf, "");2278static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindDataSizeOf == clang::UnaryExprOrTypeTrait::UETT_DataSizeOf, "");
2252static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindAlignOf == clang::UnaryExprOrTypeTrait::UETT_AlignOf, "");2279static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindAlignOf == clang::UnaryExprOrTypeTrait::UETT_AlignOf, "");
2253static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf == clang::UnaryExprOrTypeTrait::UETT_PreferredAlignOf, "");2280static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf == clang::UnaryExprOrTypeTrait::UETT_PreferredAlignOf, "");
2281static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindPtrAuthTypeDiscriminator == clang::UnaryExprOrTypeTrait::UETT_PtrAuthTypeDiscriminator, "");
2254static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindVecStep == clang::UnaryExprOrTypeTrait::UETT_VecStep, "");2282static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindVecStep == clang::UnaryExprOrTypeTrait::UETT_VecStep, "");
2255static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindOpenMPRequiredSimdAlign == clang::UnaryExprOrTypeTrait::UETT_OpenMPRequiredSimdAlign, "");2283static_assert((clang::UnaryExprOrTypeTrait)ZigClangUnaryExprOrTypeTrait_Kind::ZigClangUnaryExprOrTypeTrait_KindOpenMPRequiredSimdAlign == clang::UnaryExprOrTypeTrait::UETT_OpenMPRequiredSimdAlign, "");
22562284
...@@ -2811,7 +2839,7 @@ bool ZigClangType_isIncompleteOrZeroLengthArrayType(const ZigClangQualType *self...@@ -2811,7 +2839,7 @@ bool ZigClangType_isIncompleteOrZeroLengthArrayType(const ZigClangQualType *self
2811 if (casted_type->isIncompleteArrayType())2839 if (casted_type->isIncompleteArrayType())
2812 return true;2840 return true;
28132841
2814 clang::QualType elem_type = *casted; 2842 clang::QualType elem_type = *casted;
2815 while (const clang::ConstantArrayType *ArrayT = casted_ctx->getAsConstantArrayType(elem_type)) {2843 while (const clang::ConstantArrayType *ArrayT = casted_ctx->getAsConstantArrayType(elem_type)) {
2816 if (ArrayT->getSize() == 0)2844 if (ArrayT->getSize() == 0)
2817 return true;2845 return true;
...@@ -3021,6 +3049,11 @@ bool ZigClangAPSInt_lessThanEqual(const ZigClangAPSInt *self, uint64_t rhs) {...@@ -3021,6 +3049,11 @@ bool ZigClangAPSInt_lessThanEqual(const ZigClangAPSInt *self, uint64_t rhs) {
3021 return casted->ule(rhs);3049 return casted->ule(rhs);
3022}3050}
30233051
3052void ZigClangAPInt_free(const ZigClangAPInt *self) {
3053 auto casted = reinterpret_cast<const llvm::APInt *>(self);
3054 delete casted;
3055}
3056
3024uint64_t ZigClangAPInt_getLimitedValue(const ZigClangAPInt *self, uint64_t limit) {3057uint64_t ZigClangAPInt_getLimitedValue(const ZigClangAPInt *self, uint64_t limit) {
3025 auto casted = reinterpret_cast<const llvm::APInt *>(self);3058 auto casted = reinterpret_cast<const llvm::APInt *>(self);
3026 return casted->getLimitedValue(limit);3059 return casted->getLimitedValue(limit);
...@@ -3400,9 +3433,10 @@ struct ZigClangQualType ZigClangConstantArrayType_getElementType(const struct Zi...@@ -3400,9 +3433,10 @@ struct ZigClangQualType ZigClangConstantArrayType_getElementType(const struct Zi
3400 return bitcast(casted->getElementType());3433 return bitcast(casted->getElementType());
3401}3434}
34023435
3403const struct ZigClangAPInt *ZigClangConstantArrayType_getSize(const struct ZigClangConstantArrayType *self) {3436void ZigClangConstantArrayType_getSize(const struct ZigClangConstantArrayType *self, const struct ZigClangAPInt **result) {
3404 auto casted = reinterpret_cast<const clang::ConstantArrayType *>(self);3437 auto casted = reinterpret_cast<const clang::ConstantArrayType *>(self);
3405 return reinterpret_cast<const ZigClangAPInt *>(&casted->getSize());3438 llvm::APInt *ap_int = new llvm::APInt(casted->getSize());
3439 *result = reinterpret_cast<const ZigClangAPInt *>(ap_int);
3406}3440}
34073441
3408const struct ZigClangValueDecl *ZigClangDeclRefExpr_getDecl(const struct ZigClangDeclRefExpr *self) {3442const struct ZigClangValueDecl *ZigClangDeclRefExpr_getDecl(const struct ZigClangDeclRefExpr *self) {
...@@ -4059,7 +4093,7 @@ const struct ZigClangAPSInt *ZigClangEnumConstantDecl_getInitVal(const struct Zi...@@ -4059,7 +4093,7 @@ const struct ZigClangAPSInt *ZigClangEnumConstantDecl_getInitVal(const struct Zi
4059// See also: https://github.com/ziglang/zig/issues/111684093// See also: https://github.com/ziglang/zig/issues/11168
4060bool ZigClangIsLLVMUsingSeparateLibcxx() {4094bool ZigClangIsLLVMUsingSeparateLibcxx() {
40614095
4062 // Temporarily create an InMemoryFileSystem, so that we can perform a file 4096 // Temporarily create an InMemoryFileSystem, so that we can perform a file
4063 // lookup that is guaranteed to fail.4097 // lookup that is guaranteed to fail.
4064 auto FS = new llvm::vfs::InMemoryFileSystem(true);4098 auto FS = new llvm::vfs::InMemoryFileSystem(true);
4065 auto StatusOrErr = FS->status("foo.txt");4099 auto StatusOrErr = FS->status("foo.txt");
...@@ -4080,9 +4114,13 @@ static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEqu...@@ -4080,9 +4114,13 @@ static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEqu
4080static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDouble == llvm::APFloatBase::S_PPCDoubleDouble);4114static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDouble == llvm::APFloatBase::S_PPCDoubleDouble);
4081static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2 == llvm::APFloatBase::S_Float8E5M2);4115static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2 == llvm::APFloatBase::S_Float8E5M2);
4082static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ == llvm::APFloatBase::S_Float8E5M2FNUZ);4116static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ == llvm::APFloatBase::S_Float8E5M2FNUZ);
4117static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3 == llvm::APFloatBase::S_Float8E4M3);
4083static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FN == llvm::APFloatBase::S_Float8E4M3FN);4118static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FN == llvm::APFloatBase::S_Float8E4M3FN);
4084static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ == llvm::APFloatBase::S_Float8E4M3FNUZ);4119static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ == llvm::APFloatBase::S_Float8E4M3FNUZ);
4085static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ == llvm::APFloatBase::S_Float8E4M3B11FNUZ);4120static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ == llvm::APFloatBase::S_Float8E4M3B11FNUZ);
4086static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_FloatTF32 == llvm::APFloatBase::S_FloatTF32);4121static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_FloatTF32 == llvm::APFloatBase::S_FloatTF32);
4122static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float6E3M2FN == llvm::APFloatBase::S_Float6E3M2FN);
4123static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float6E2M3FN == llvm::APFloatBase::S_Float6E2M3FN);
4124static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float4E2M1FN == llvm::APFloatBase::S_Float4E2M1FN);
4087static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_x87DoubleExtended == llvm::APFloatBase::S_x87DoubleExtended);4125static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_x87DoubleExtended == llvm::APFloatBase::S_x87DoubleExtended);
4088static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_MaxSemantics == llvm::APFloatBase::S_MaxSemantics);4126static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_MaxSemantics == llvm::APFloatBase::S_MaxSemantics);
src/zig_clang.h+22-3
...@@ -247,6 +247,7 @@ enum ZigClangTypeClass {...@@ -247,6 +247,7 @@ enum ZigClangTypeClass {
247 ZigClangType_Adjusted,247 ZigClangType_Adjusted,
248 ZigClangType_Decayed,248 ZigClangType_Decayed,
249 ZigClangType_ConstantArray,249 ZigClangType_ConstantArray,
250 ZigClangType_ArrayParameter,
250 ZigClangType_DependentSizedArray,251 ZigClangType_DependentSizedArray,
251 ZigClangType_IncompleteArray,252 ZigClangType_IncompleteArray,
252 ZigClangType_VariableArray,253 ZigClangType_VariableArray,
...@@ -255,6 +256,7 @@ enum ZigClangTypeClass {...@@ -255,6 +256,7 @@ enum ZigClangTypeClass {
255 ZigClangType_BTFTagAttributed,256 ZigClangType_BTFTagAttributed,
256 ZigClangType_BitInt,257 ZigClangType_BitInt,
257 ZigClangType_BlockPointer,258 ZigClangType_BlockPointer,
259 ZigClangType_CountAttributed,
258 ZigClangType_Builtin,260 ZigClangType_Builtin,
259 ZigClangType_Complex,261 ZigClangType_Complex,
260 ZigClangType_Decltype,262 ZigClangType_Decltype,
...@@ -279,6 +281,7 @@ enum ZigClangTypeClass {...@@ -279,6 +281,7 @@ enum ZigClangTypeClass {
279 ZigClangType_ObjCInterface,281 ZigClangType_ObjCInterface,
280 ZigClangType_ObjCTypeParam,282 ZigClangType_ObjCTypeParam,
281 ZigClangType_PackExpansion,283 ZigClangType_PackExpansion,
284 ZigClangType_PackIndexing,
282 ZigClangType_Paren,285 ZigClangType_Paren,
283 ZigClangType_Pipe,286 ZigClangType_Pipe,
284 ZigClangType_Pointer,287 ZigClangType_Pointer,
...@@ -323,6 +326,7 @@ enum ZigClangStmtClass {...@@ -323,6 +326,7 @@ enum ZigClangStmtClass {
323 ZigClangStmt_PredefinedExprClass,326 ZigClangStmt_PredefinedExprClass,
324 ZigClangStmt_ParenListExprClass,327 ZigClangStmt_ParenListExprClass,
325 ZigClangStmt_ParenExprClass,328 ZigClangStmt_ParenExprClass,
329 ZigClangStmt_PackIndexingExprClass,
326 ZigClangStmt_PackExpansionExprClass,330 ZigClangStmt_PackExpansionExprClass,
327 ZigClangStmt_UnresolvedMemberExprClass,331 ZigClangStmt_UnresolvedMemberExprClass,
328 ZigClangStmt_UnresolvedLookupExprClass,332 ZigClangStmt_UnresolvedLookupExprClass,
...@@ -345,7 +349,6 @@ enum ZigClangStmtClass {...@@ -345,7 +349,6 @@ enum ZigClangStmtClass {
345 ZigClangStmt_ObjCArrayLiteralClass,349 ZigClangStmt_ObjCArrayLiteralClass,
346 ZigClangStmt_OMPIteratorExprClass,350 ZigClangStmt_OMPIteratorExprClass,
347 ZigClangStmt_OMPArrayShapingExprClass,351 ZigClangStmt_OMPArrayShapingExprClass,
348 ZigClangStmt_OMPArraySectionExprClass,
349 ZigClangStmt_NoInitExprClass,352 ZigClangStmt_NoInitExprClass,
350 ZigClangStmt_MemberExprClass,353 ZigClangStmt_MemberExprClass,
351 ZigClangStmt_MatrixSubscriptExprClass,354 ZigClangStmt_MatrixSubscriptExprClass,
...@@ -366,6 +369,7 @@ enum ZigClangStmtClass {...@@ -366,6 +369,7 @@ enum ZigClangStmtClass {
366 ZigClangStmt_FixedPointLiteralClass,369 ZigClangStmt_FixedPointLiteralClass,
367 ZigClangStmt_ExtVectorElementExprClass,370 ZigClangStmt_ExtVectorElementExprClass,
368 ZigClangStmt_ExpressionTraitExprClass,371 ZigClangStmt_ExpressionTraitExprClass,
372 ZigClangStmt_EmbedExprClass,
369 ZigClangStmt_DesignatedInitUpdateExprClass,373 ZigClangStmt_DesignatedInitUpdateExprClass,
370 ZigClangStmt_DesignatedInitExprClass,374 ZigClangStmt_DesignatedInitExprClass,
371 ZigClangStmt_DependentScopeDeclRefExprClass,375 ZigClangStmt_DependentScopeDeclRefExprClass,
...@@ -423,6 +427,7 @@ enum ZigClangStmtClass {...@@ -423,6 +427,7 @@ enum ZigClangStmtClass {
423 ZigClangStmt_AsTypeExprClass,427 ZigClangStmt_AsTypeExprClass,
424 ZigClangStmt_ArrayTypeTraitExprClass,428 ZigClangStmt_ArrayTypeTraitExprClass,
425 ZigClangStmt_ArraySubscriptExprClass,429 ZigClangStmt_ArraySubscriptExprClass,
430 ZigClangStmt_ArraySectionExprClass,
426 ZigClangStmt_ArrayInitLoopExprClass,431 ZigClangStmt_ArrayInitLoopExprClass,
427 ZigClangStmt_ArrayInitIndexExprClass,432 ZigClangStmt_ArrayInitIndexExprClass,
428 ZigClangStmt_AddrLabelExprClass,433 ZigClangStmt_AddrLabelExprClass,
...@@ -437,6 +442,8 @@ enum ZigClangStmtClass {...@@ -437,6 +442,8 @@ enum ZigClangStmtClass {
437 ZigClangStmt_SEHFinallyStmtClass,442 ZigClangStmt_SEHFinallyStmtClass,
438 ZigClangStmt_SEHExceptStmtClass,443 ZigClangStmt_SEHExceptStmtClass,
439 ZigClangStmt_ReturnStmtClass,444 ZigClangStmt_ReturnStmtClass,
445 ZigClangStmt_OpenACCLoopConstructClass,
446 ZigClangStmt_OpenACCComputeConstructClass,
440 ZigClangStmt_ObjCForCollectionStmtClass,447 ZigClangStmt_ObjCForCollectionStmtClass,
441 ZigClangStmt_ObjCAutoreleasePoolStmtClass,448 ZigClangStmt_ObjCAutoreleasePoolStmtClass,
442 ZigClangStmt_ObjCAtTryStmtClass,449 ZigClangStmt_ObjCAtTryStmtClass,
...@@ -472,6 +479,8 @@ enum ZigClangStmtClass {...@@ -472,6 +479,8 @@ enum ZigClangStmtClass {
472 ZigClangStmt_OMPMaskedDirectiveClass,479 ZigClangStmt_OMPMaskedDirectiveClass,
473 ZigClangStmt_OMPUnrollDirectiveClass,480 ZigClangStmt_OMPUnrollDirectiveClass,
474 ZigClangStmt_OMPTileDirectiveClass,481 ZigClangStmt_OMPTileDirectiveClass,
482 ZigClangStmt_OMPReverseDirectiveClass,
483 ZigClangStmt_OMPInterchangeDirectiveClass,
475 ZigClangStmt_OMPTeamsGenericLoopDirectiveClass,484 ZigClangStmt_OMPTeamsGenericLoopDirectiveClass,
476 ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,485 ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,
477 ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,486 ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,
...@@ -608,13 +617,13 @@ enum ZigClangCK {...@@ -608,13 +617,13 @@ enum ZigClangCK {
608617
609enum ZigClangDeclKind {618enum ZigClangDeclKind {
610 ZigClangDeclTranslationUnit,619 ZigClangDeclTranslationUnit,
620 ZigClangDeclTopLevelStmt,
611 ZigClangDeclRequiresExprBody,621 ZigClangDeclRequiresExprBody,
612 ZigClangDeclLinkageSpec,622 ZigClangDeclLinkageSpec,
613 ZigClangDeclExternCContext,623 ZigClangDeclExternCContext,
614 ZigClangDeclExport,624 ZigClangDeclExport,
615 ZigClangDeclCaptured,625 ZigClangDeclCaptured,
616 ZigClangDeclBlock,626 ZigClangDeclBlock,
617 ZigClangDeclTopLevelStmt,
618 ZigClangDeclStaticAssert,627 ZigClangDeclStaticAssert,
619 ZigClangDeclPragmaDetectMismatch,628 ZigClangDeclPragmaDetectMismatch,
620 ZigClangDeclPragmaComment,629 ZigClangDeclPragmaComment,
...@@ -1122,6 +1131,7 @@ enum ZigClangBuiltinTypeKind {...@@ -1122,6 +1131,7 @@ enum ZigClangBuiltinTypeKind {
1122 ZigClangBuiltinTypeRvvBFloat16m2x4,1131 ZigClangBuiltinTypeRvvBFloat16m2x4,
1123 ZigClangBuiltinTypeRvvBFloat16m4x2,1132 ZigClangBuiltinTypeRvvBFloat16m4x2,
1124 ZigClangBuiltinTypeWasmExternRef,1133 ZigClangBuiltinTypeWasmExternRef,
1134 ZigClangBuiltinTypeAMDGPUBufferRsrc,
1125 ZigClangBuiltinTypeVoid,1135 ZigClangBuiltinTypeVoid,
1126 ZigClangBuiltinTypeBool,1136 ZigClangBuiltinTypeBool,
1127 ZigClangBuiltinTypeChar_U,1137 ZigClangBuiltinTypeChar_U,
...@@ -1187,6 +1197,7 @@ enum ZigClangBuiltinTypeKind {...@@ -1187,6 +1197,7 @@ enum ZigClangBuiltinTypeKind {
1187 ZigClangBuiltinTypeDependent,1197 ZigClangBuiltinTypeDependent,
1188 ZigClangBuiltinTypeOverload,1198 ZigClangBuiltinTypeOverload,
1189 ZigClangBuiltinTypeBoundMember,1199 ZigClangBuiltinTypeBoundMember,
1200 ZigClangBuiltinTypeUnresolvedTemplate,
1190 ZigClangBuiltinTypePseudoObject,1201 ZigClangBuiltinTypePseudoObject,
1191 ZigClangBuiltinTypeUnknownAny,1202 ZigClangBuiltinTypeUnknownAny,
1192 ZigClangBuiltinTypeBuiltinFn,1203 ZigClangBuiltinTypeBuiltinFn,
...@@ -1220,6 +1231,8 @@ enum ZigClangCallingConv {...@@ -1220,6 +1231,8 @@ enum ZigClangCallingConv {
1220 ZigClangCallingConv_AArch64SVEPCS,1231 ZigClangCallingConv_AArch64SVEPCS,
1221 ZigClangCallingConv_AMDGPUKernelCall,1232 ZigClangCallingConv_AMDGPUKernelCall,
1222 ZigClangCallingConv_M68kRTD,1233 ZigClangCallingConv_M68kRTD,
1234 ZigClangCallingConv_PreserveNone,
1235 ZigClangCallingConv_RISCVVectorCall,
1223};1236};
12241237
1225enum ZigClangStorageClass {1238enum ZigClangStorageClass {
...@@ -1255,10 +1268,14 @@ enum ZigClangAPFloatBase_Semantics {...@@ -1255,10 +1268,14 @@ enum ZigClangAPFloatBase_Semantics {
1255 ZigClangAPFloatBase_Semantics_PPCDoubleDouble,1268 ZigClangAPFloatBase_Semantics_PPCDoubleDouble,
1256 ZigClangAPFloatBase_Semantics_Float8E5M2,1269 ZigClangAPFloatBase_Semantics_Float8E5M2,
1257 ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ,1270 ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ,
1271 ZigClangAPFloatBase_Semantics_Float8E4M3,
1258 ZigClangAPFloatBase_Semantics_Float8E4M3FN,1272 ZigClangAPFloatBase_Semantics_Float8E4M3FN,
1259 ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ,1273 ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ,
1260 ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ,1274 ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ,
1261 ZigClangAPFloatBase_Semantics_FloatTF32,1275 ZigClangAPFloatBase_Semantics_FloatTF32,
1276 ZigClangAPFloatBase_Semantics_Float6E3M2FN,
1277 ZigClangAPFloatBase_Semantics_Float6E2M3FN,
1278 ZigClangAPFloatBase_Semantics_Float4E2M1FN,
1262 ZigClangAPFloatBase_Semantics_x87DoubleExtended,1279 ZigClangAPFloatBase_Semantics_x87DoubleExtended,
1263 ZigClangAPFloatBase_Semantics_MaxSemantics = ZigClangAPFloatBase_Semantics_x87DoubleExtended,1280 ZigClangAPFloatBase_Semantics_MaxSemantics = ZigClangAPFloatBase_Semantics_x87DoubleExtended,
1264};1281};
...@@ -1314,6 +1331,7 @@ enum ZigClangUnaryExprOrTypeTrait_Kind {...@@ -1314,6 +1331,7 @@ enum ZigClangUnaryExprOrTypeTrait_Kind {
1314 ZigClangUnaryExprOrTypeTrait_KindDataSizeOf,1331 ZigClangUnaryExprOrTypeTrait_KindDataSizeOf,
1315 ZigClangUnaryExprOrTypeTrait_KindAlignOf,1332 ZigClangUnaryExprOrTypeTrait_KindAlignOf,
1316 ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf,1333 ZigClangUnaryExprOrTypeTrait_KindPreferredAlignOf,
1334 ZigClangUnaryExprOrTypeTrait_KindPtrAuthTypeDiscriminator,
1317 ZigClangUnaryExprOrTypeTrait_KindVecStep,1335 ZigClangUnaryExprOrTypeTrait_KindVecStep,
1318 ZigClangUnaryExprOrTypeTrait_KindOpenMPRequiredSimdAlign,1336 ZigClangUnaryExprOrTypeTrait_KindOpenMPRequiredSimdAlign,
1319};1337};
...@@ -1515,6 +1533,7 @@ ZIG_EXTERN_C const uint64_t *ZigClangAPSInt_getRawData(const struct ZigClangAPSI...@@ -1515,6 +1533,7 @@ ZIG_EXTERN_C const uint64_t *ZigClangAPSInt_getRawData(const struct ZigClangAPSI
1515ZIG_EXTERN_C unsigned ZigClangAPSInt_getNumWords(const struct ZigClangAPSInt *self);1533ZIG_EXTERN_C unsigned ZigClangAPSInt_getNumWords(const struct ZigClangAPSInt *self);
1516ZIG_EXTERN_C bool ZigClangAPSInt_lessThanEqual(const struct ZigClangAPSInt *self, uint64_t rhs);1534ZIG_EXTERN_C bool ZigClangAPSInt_lessThanEqual(const struct ZigClangAPSInt *self, uint64_t rhs);
15171535
1536ZIG_EXTERN_C void ZigClangAPInt_free(const struct ZigClangAPInt *self);
1518ZIG_EXTERN_C uint64_t ZigClangAPInt_getLimitedValue(const struct ZigClangAPInt *self, uint64_t limit);1537ZIG_EXTERN_C uint64_t ZigClangAPInt_getLimitedValue(const struct ZigClangAPInt *self, uint64_t limit);
15191538
1520ZIG_EXTERN_C const struct ZigClangExpr *ZigClangAPValueLValueBase_dyn_cast_Expr(struct ZigClangAPValueLValueBase self);1539ZIG_EXTERN_C const struct ZigClangExpr *ZigClangAPValueLValueBase_dyn_cast_Expr(struct ZigClangAPValueLValueBase self);
...@@ -1569,7 +1588,7 @@ ZIG_EXTERN_C struct ZigClangQualType ZigClangArrayType_getElementType(const stru...@@ -1569,7 +1588,7 @@ ZIG_EXTERN_C struct ZigClangQualType ZigClangArrayType_getElementType(const stru
1569ZIG_EXTERN_C struct ZigClangQualType ZigClangIncompleteArrayType_getElementType(const struct ZigClangIncompleteArrayType *);1588ZIG_EXTERN_C struct ZigClangQualType ZigClangIncompleteArrayType_getElementType(const struct ZigClangIncompleteArrayType *);
15701589
1571ZIG_EXTERN_C struct ZigClangQualType ZigClangConstantArrayType_getElementType(const struct ZigClangConstantArrayType *);1590ZIG_EXTERN_C struct ZigClangQualType ZigClangConstantArrayType_getElementType(const struct ZigClangConstantArrayType *);
1572ZIG_EXTERN_C const struct ZigClangAPInt *ZigClangConstantArrayType_getSize(const struct ZigClangConstantArrayType *);1591ZIG_EXTERN_C void ZigClangConstantArrayType_getSize(const struct ZigClangConstantArrayType *, const struct ZigClangAPInt **result);
15731592
1574ZIG_EXTERN_C const struct ZigClangValueDecl *ZigClangDeclRefExpr_getDecl(const struct ZigClangDeclRefExpr *);1593ZIG_EXTERN_C const struct ZigClangValueDecl *ZigClangDeclRefExpr_getDecl(const struct ZigClangDeclRefExpr *);
1575ZIG_EXTERN_C const struct ZigClangNamedDecl *ZigClangDeclRefExpr_getFoundDecl(const struct ZigClangDeclRefExpr *);1594ZIG_EXTERN_C const struct ZigClangNamedDecl *ZigClangDeclRefExpr_getFoundDecl(const struct ZigClangDeclRefExpr *);