authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-02-05 11:41:39+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-04-04 06:08:09+02:00
log8ea2e1ded522ae972fc201ca52cbc6e752c1d405
tree7cca61207974e9bc86422122c2c02c183cdfd242
parent156ab8750056c3ff440af0937806d8cdb2623816
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

compiler: Updates for LLVM/Clang 20 API changes.


8 files changed, 151 insertions(+), 28 deletions(-)

src/clang.zig+26
......@@ -112,13 +112,16 @@ pub const APFloatBaseSemantics = enum(c_int) {
112112 IEEEdouble,
113113 IEEEquad,
114114 PPCDoubleDouble,
115 PPCDoubleDoubleLegacy,
115116 Float8E5M2,
116117 Float8E5M2FNUZ,
117118 Float8E4M3,
118119 Float8E4M3FN,
119120 Float8E4M3FNUZ,
120121 Float8E4M3B11FNUZ,
122 Float8E3M4,
121123 FloatTF32,
124 Float8E8M0FNU,
122125 Float6E3M2FN,
123126 Float6E2M3FN,
124127 Float4E2M1FN,
......@@ -1166,6 +1169,7 @@ pub const TypeClass = enum(c_int) {
11661169 Elaborated,
11671170 FunctionNoProto,
11681171 FunctionProto,
1172 HLSLAttributedResource,
11691173 InjectedClassName,
11701174 MacroQualified,
11711175 ConstantMatrix,
......@@ -1225,6 +1229,7 @@ const StmtClass = enum(c_int) {
12251229 PackExpansionExprClass,
12261230 UnresolvedMemberExprClass,
12271231 UnresolvedLookupExprClass,
1232 OpenACCAsteriskSizeExprClass,
12281233 OpaqueValueExprClass,
12291234 OffsetOfExprClass,
12301235 ObjCSubscriptRefExprClass,
......@@ -1255,6 +1260,7 @@ const StmtClass = enum(c_int) {
12551260 InitListExprClass,
12561261 ImplicitValueInitExprClass,
12571262 ImaginaryLiteralClass,
1263 HLSLOutArgExprClass,
12581264 GenericSelectionExprClass,
12591265 GNUNullExprClass,
12601266 FunctionParmPackExprClass,
......@@ -1332,13 +1338,24 @@ const StmtClass = enum(c_int) {
13321338 SwitchStmtClass,
13331339 DefaultStmtClass,
13341340 CaseStmtClass,
1341 SYCLKernelCallStmtClass,
13351342 SEHTryStmtClass,
13361343 SEHLeaveStmtClass,
13371344 SEHFinallyStmtClass,
13381345 SEHExceptStmtClass,
13391346 ReturnStmtClass,
1347 OpenACCWaitConstructClass,
1348 OpenACCUpdateConstructClass,
1349 OpenACCShutdownConstructClass,
1350 OpenACCSetConstructClass,
1351 OpenACCInitConstructClass,
1352 OpenACCExitDataConstructClass,
1353 OpenACCEnterDataConstructClass,
13401354 OpenACCLoopConstructClass,
1355 OpenACCHostDataConstructClass,
1356 OpenACCDataConstructClass,
13411357 OpenACCComputeConstructClass,
1358 OpenACCCombinedConstructClass,
13421359 ObjCForCollectionStmtClass,
13431360 ObjCAutoreleasePoolStmtClass,
13441361 ObjCAtTryStmtClass,
......@@ -1420,6 +1437,7 @@ const StmtClass = enum(c_int) {
14201437 OMPCancelDirectiveClass,
14211438 OMPBarrierDirectiveClass,
14221439 OMPAtomicDirectiveClass,
1440 OMPAssumeDirectiveClass,
14231441 OMPCanonicalLoopClass,
14241442 NullStmtClass,
14251443 MSDependentExistsStmtClass,
......@@ -1514,6 +1532,7 @@ pub const DeclKind = enum(c_int) {
15141532 TranslationUnit,
15151533 TopLevelStmt,
15161534 RequiresExprBody,
1535 OutlinedFunction,
15171536 LinkageSpec,
15181537 ExternCContext,
15191538 Export,
......@@ -1660,6 +1679,7 @@ pub const BuiltinTypeKind = enum(c_int) {
16601679 SveFloat32,
16611680 SveFloat64,
16621681 SveBFloat16,
1682 SveMFloat8,
16631683 SveInt8x2,
16641684 SveInt16x2,
16651685 SveInt32x2,
......@@ -1672,6 +1692,7 @@ pub const BuiltinTypeKind = enum(c_int) {
16721692 SveFloat32x2,
16731693 SveFloat64x2,
16741694 SveBFloat16x2,
1695 SveMFloat8x2,
16751696 SveInt8x3,
16761697 SveInt16x3,
16771698 SveInt32x3,
......@@ -1684,6 +1705,7 @@ pub const BuiltinTypeKind = enum(c_int) {
16841705 SveFloat32x3,
16851706 SveFloat64x3,
16861707 SveBFloat16x3,
1708 SveMFloat8x3,
16871709 SveInt8x4,
16881710 SveInt16x4,
16891711 SveInt32x4,
......@@ -1696,10 +1718,12 @@ pub const BuiltinTypeKind = enum(c_int) {
16961718 SveFloat32x4,
16971719 SveFloat64x4,
16981720 SveBFloat16x4,
1721 SveMFloat8x4,
16991722 SveBool,
17001723 SveBoolx2,
17011724 SveBoolx4,
17021725 SveCount,
1726 MFloat8,
17031727 VectorQuad,
17041728 VectorPair,
17051729 RvvInt8mf8,
......@@ -2027,6 +2051,8 @@ pub const BuiltinTypeKind = enum(c_int) {
20272051 RvvBFloat16m4x2,
20282052 WasmExternRef,
20292053 AMDGPUBufferRsrc,
2054 AMDGPUNamedWorkgroupBarrier,
2055 HLSLResource,
20302056 Void,
20312057 Bool,
20322058 Char_U,
src/codegen/llvm.zig+5-1
......@@ -1053,7 +1053,11 @@ pub const Object = struct {
10531053 .is_small = options.is_small,
10541054 .time_report = options.time_report,
10551055 .tsan = options.sanitize_thread,
1056 .lto = options.lto != .none,
1056 .lto = switch (options.lto) {
1057 .none => .None,
1058 .thin => .ThinPreLink,
1059 .full => .FullPreLink,
1060 },
10571061 // https://github.com/ziglang/zig/issues/21215
10581062 .allow_fast_isel = !comp.root_mod.resolved_target.result.cpu.arch.isMIPS(),
10591063 .asm_filename = null,
src/codegen/llvm/bindings.zig+9-1
......@@ -90,7 +90,7 @@ pub const TargetMachine = opaque {
9090 time_report: bool,
9191 tsan: bool,
9292 sancov: bool,
93 lto: bool,
93 lto: LtoPhase,
9494 allow_fast_isel: bool,
9595 asm_filename: ?[*:0]const u8,
9696 bin_filename: ?[*:0]const u8,
......@@ -98,6 +98,14 @@ pub const TargetMachine = opaque {
9898 bitcode_filename: ?[*:0]const u8,
9999 coverage: Coverage,
100100
101 pub const LtoPhase = enum(c_int) {
102 None,
103 ThinPreLink,
104 ThinPostLink,
105 FullPreLink,
106 FullPostLink,
107 };
108
101109 pub const Coverage = extern struct {
102110 CoverageType: Coverage.Type,
103111 IndirectCalls: bool,
src/zig_clang.cpp+51-2
......@@ -329,6 +329,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
329329 case clang::Type::TemplateSpecialization:
330330 case clang::Type::Auto:
331331 case clang::Type::DeducedTemplateSpecialization:
332 case clang::Type::HLSLAttributedResource:
332333 case clang::Type::InjectedClassName:
333334 case clang::Type::DependentName:
334335 case clang::Type::DependentTemplateSpecialization:
......@@ -371,6 +372,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Typ
371372static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
372373static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
373374static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
375static_assert((clang::Type::TypeClass)ZigClangType_HLSLAttributedResource == clang::Type::HLSLAttributedResource, "");
374376static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
375377static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
376378static_assert((clang::Type::TypeClass)ZigClangType_ConstantMatrix == clang::Type::ConstantMatrix, "");
......@@ -431,6 +433,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
431433 case clang::Stmt::PackExpansionExprClass:
432434 case clang::Stmt::UnresolvedMemberExprClass:
433435 case clang::Stmt::UnresolvedLookupExprClass:
436 case clang::Stmt::OpenACCAsteriskSizeExprClass:
434437 case clang::Stmt::OpaqueValueExprClass:
435438 case clang::Stmt::OffsetOfExprClass:
436439 case clang::Stmt::ObjCSubscriptRefExprClass:
......@@ -461,6 +464,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
461464 case clang::Stmt::InitListExprClass:
462465 case clang::Stmt::ImplicitValueInitExprClass:
463466 case clang::Stmt::ImaginaryLiteralClass:
467 case clang::Stmt::HLSLOutArgExprClass:
464468 case clang::Stmt::GenericSelectionExprClass:
465469 case clang::Stmt::GNUNullExprClass:
466470 case clang::Stmt::FunctionParmPackExprClass:
......@@ -538,13 +542,24 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
538542 case clang::Stmt::SwitchStmtClass:
539543 case clang::Stmt::DefaultStmtClass:
540544 case clang::Stmt::CaseStmtClass:
545 case clang::Stmt::SYCLKernelCallStmtClass:
541546 case clang::Stmt::SEHTryStmtClass:
542547 case clang::Stmt::SEHLeaveStmtClass:
543548 case clang::Stmt::SEHFinallyStmtClass:
544549 case clang::Stmt::SEHExceptStmtClass:
545550 case clang::Stmt::ReturnStmtClass:
551 case clang::Stmt::OpenACCWaitConstructClass:
552 case clang::Stmt::OpenACCUpdateConstructClass:
553 case clang::Stmt::OpenACCShutdownConstructClass:
554 case clang::Stmt::OpenACCSetConstructClass:
555 case clang::Stmt::OpenACCInitConstructClass:
556 case clang::Stmt::OpenACCExitDataConstructClass:
557 case clang::Stmt::OpenACCEnterDataConstructClass:
546558 case clang::Stmt::OpenACCLoopConstructClass:
559 case clang::Stmt::OpenACCHostDataConstructClass:
560 case clang::Stmt::OpenACCDataConstructClass:
547561 case clang::Stmt::OpenACCComputeConstructClass:
562 case clang::Stmt::OpenACCCombinedConstructClass:
548563 case clang::Stmt::ObjCForCollectionStmtClass:
549564 case clang::Stmt::ObjCAutoreleasePoolStmtClass:
550565 case clang::Stmt::ObjCAtTryStmtClass:
......@@ -626,6 +641,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
626641 case clang::Stmt::OMPCancelDirectiveClass:
627642 case clang::Stmt::OMPBarrierDirectiveClass:
628643 case clang::Stmt::OMPAtomicDirectiveClass:
644 case clang::Stmt::OMPAssumeDirectiveClass:
629645 case clang::Stmt::OMPCanonicalLoopClass:
630646 case clang::Stmt::NullStmtClass:
631647 case clang::Stmt::MSDependentExistsStmtClass:
......@@ -676,6 +692,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackIndexingExprClass == clan
676692static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");
677693static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");
678694static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");
695static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCAsteriskSizeExprClass == clang::Stmt::OpenACCAsteriskSizeExprClass, "");
679696static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpaqueValueExprClass == clang::Stmt::OpaqueValueExprClass, "");
680697static_assert((clang::Stmt::StmtClass)ZigClangStmt_OffsetOfExprClass == clang::Stmt::OffsetOfExprClass, "");
681698static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSubscriptRefExprClass == clang::Stmt::ObjCSubscriptRefExprClass, "");
......@@ -706,6 +723,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_IntegerLiteralClass == clang:
706723static_assert((clang::Stmt::StmtClass)ZigClangStmt_InitListExprClass == clang::Stmt::InitListExprClass, "");
707724static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitValueInitExprClass == clang::Stmt::ImplicitValueInitExprClass, "");
708725static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImaginaryLiteralClass == clang::Stmt::ImaginaryLiteralClass, "");
726static_assert((clang::Stmt::StmtClass)ZigClangStmt_HLSLOutArgExprClass == clang::Stmt::HLSLOutArgExprClass, "");
709727static_assert((clang::Stmt::StmtClass)ZigClangStmt_GenericSelectionExprClass == clang::Stmt::GenericSelectionExprClass, "");
710728static_assert((clang::Stmt::StmtClass)ZigClangStmt_GNUNullExprClass == clang::Stmt::GNUNullExprClass, "");
711729static_assert((clang::Stmt::StmtClass)ZigClangStmt_FunctionParmPackExprClass == clang::Stmt::FunctionParmPackExprClass, "");
......@@ -783,13 +801,24 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_AttributedStmtClass == clang:
783801static_assert((clang::Stmt::StmtClass)ZigClangStmt_SwitchStmtClass == clang::Stmt::SwitchStmtClass, "");
784802static_assert((clang::Stmt::StmtClass)ZigClangStmt_DefaultStmtClass == clang::Stmt::DefaultStmtClass, "");
785803static_assert((clang::Stmt::StmtClass)ZigClangStmt_CaseStmtClass == clang::Stmt::CaseStmtClass, "");
804static_assert((clang::Stmt::StmtClass)ZigClangStmt_SYCLKernelCallStmtClass == clang::Stmt::SYCLKernelCallStmtClass, "");
786805static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHTryStmtClass == clang::Stmt::SEHTryStmtClass, "");
787806static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::Stmt::SEHLeaveStmtClass, "");
788807static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");
789808static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");
790809static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");
810static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCWaitConstructClass == clang::Stmt::OpenACCWaitConstructClass, "");
811static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCUpdateConstructClass == clang::Stmt::OpenACCUpdateConstructClass, "");
812static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCShutdownConstructClass == clang::Stmt::OpenACCShutdownConstructClass, "");
813static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCSetConstructClass == clang::Stmt::OpenACCSetConstructClass, "");
814static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCInitConstructClass == clang::Stmt::OpenACCInitConstructClass, "");
815static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCExitDataConstructClass == clang::Stmt::OpenACCExitDataConstructClass, "");
816static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCEnterDataConstructClass == clang::Stmt::OpenACCEnterDataConstructClass, "");
791817static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCLoopConstructClass == clang::Stmt::OpenACCLoopConstructClass, "");
818static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCHostDataConstructClass == clang::Stmt::OpenACCHostDataConstructClass, "");
819static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCDataConstructClass == clang::Stmt::OpenACCDataConstructClass, "");
792820static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCComputeConstructClass == clang::Stmt::OpenACCComputeConstructClass, "");
821static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCCombinedConstructClass == clang::Stmt::OpenACCCombinedConstructClass, "");
793822static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");
794823static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");
795824static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");
......@@ -871,6 +900,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirective
871900static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
872901static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
873902static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
903static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAssumeDirectiveClass == clang::Stmt::OMPAssumeDirectiveClass, "");
874904static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCanonicalLoopClass == clang::Stmt::OMPCanonicalLoopClass, "");
875905static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
876906static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
......@@ -932,6 +962,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
932962 switch (x) {
933963 case clang::Decl::TranslationUnit:
934964 case clang::Decl::RequiresExprBody:
965 case clang::Decl::OutlinedFunction:
935966 case clang::Decl::LinkageSpec:
936967 case clang::Decl::ExternCContext:
937968 case clang::Decl::Export:
......@@ -1023,6 +1054,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
10231054static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");
10241055static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
10251056static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");
1057static_assert((clang::Decl::Kind)ZigClangDeclOutlinedFunction == clang::Decl::OutlinedFunction, "");
10261058static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
10271059static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::ExternCContext, "");
10281060static_assert((clang::Decl::Kind)ZigClangDeclExport == clang::Decl::Export, "");
......@@ -1169,6 +1201,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
11691201 case clang::BuiltinType::SveFloat32:
11701202 case clang::BuiltinType::SveFloat64:
11711203 case clang::BuiltinType::SveBFloat16:
1204 case clang::BuiltinType::SveMFloat8:
11721205 case clang::BuiltinType::SveInt8x2:
11731206 case clang::BuiltinType::SveInt16x2:
11741207 case clang::BuiltinType::SveInt32x2:
......@@ -1181,6 +1214,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
11811214 case clang::BuiltinType::SveFloat32x2:
11821215 case clang::BuiltinType::SveFloat64x2:
11831216 case clang::BuiltinType::SveBFloat16x2:
1217 case clang::BuiltinType::SveMFloat8x2:
11841218 case clang::BuiltinType::SveInt8x3:
11851219 case clang::BuiltinType::SveInt16x3:
11861220 case clang::BuiltinType::SveInt32x3:
......@@ -1193,6 +1227,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
11931227 case clang::BuiltinType::SveFloat32x3:
11941228 case clang::BuiltinType::SveFloat64x3:
11951229 case clang::BuiltinType::SveBFloat16x3:
1230 case clang::BuiltinType::SveMFloat8x3:
11961231 case clang::BuiltinType::SveInt8x4:
11971232 case clang::BuiltinType::SveInt16x4:
11981233 case clang::BuiltinType::SveInt32x4:
......@@ -1205,10 +1240,12 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
12051240 case clang::BuiltinType::SveFloat32x4:
12061241 case clang::BuiltinType::SveFloat64x4:
12071242 case clang::BuiltinType::SveBFloat16x4:
1243 case clang::BuiltinType::SveMFloat8x4:
12081244 case clang::BuiltinType::SveBool:
12091245 case clang::BuiltinType::SveBoolx2:
12101246 case clang::BuiltinType::SveBoolx4:
12111247 case clang::BuiltinType::SveCount:
1248 case clang::BuiltinType::MFloat8:
12121249 case clang::BuiltinType::VectorQuad:
12131250 case clang::BuiltinType::VectorPair:
12141251 case clang::BuiltinType::RvvInt8mf8:
......@@ -1536,6 +1573,8 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
15361573 case clang::BuiltinType::RvvBFloat16m4x2:
15371574 case clang::BuiltinType::WasmExternRef:
15381575 case clang::BuiltinType::AMDGPUBufferRsrc:
1576 case clang::BuiltinType::AMDGPUNamedWorkgroupBarrier:
1577 case clang::BuiltinType::HLSLResource:
15391578 case clang::BuiltinType::Void:
15401579 case clang::BuiltinType::Bool:
15411580 case clang::BuiltinType::Char_U:
......@@ -1674,6 +1713,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::
16741713static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");
16751714static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");
16761715static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16 == clang::BuiltinType::SveBFloat16, "");
1716static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8 == clang::BuiltinType::SveMFloat8, "");
16771717static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x2 == clang::BuiltinType::SveInt8x2, "");
16781718static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x2 == clang::BuiltinType::SveInt16x2, "");
16791719static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x2 == clang::BuiltinType::SveInt32x2, "");
......@@ -1686,6 +1726,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x2 == clang
16861726static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x2 == clang::BuiltinType::SveFloat32x2, "");
16871727static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x2 == clang::BuiltinType::SveFloat64x2, "");
16881728static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x2 == clang::BuiltinType::SveBFloat16x2, "");
1729static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8x2 == clang::BuiltinType::SveMFloat8x2, "");
16891730static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x3 == clang::BuiltinType::SveInt8x3, "");
16901731static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x3 == clang::BuiltinType::SveInt16x3, "");
16911732static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x3 == clang::BuiltinType::SveInt32x3, "");
......@@ -1698,6 +1739,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x3 == clang
16981739static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x3 == clang::BuiltinType::SveFloat32x3, "");
16991740static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x3 == clang::BuiltinType::SveFloat64x3, "");
17001741static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x3 == clang::BuiltinType::SveBFloat16x3, "");
1742static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8x3 == clang::BuiltinType::SveMFloat8x3, "");
17011743static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x4 == clang::BuiltinType::SveInt8x4, "");
17021744static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x4 == clang::BuiltinType::SveInt16x4, "");
17031745static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x4 == clang::BuiltinType::SveInt32x4, "");
......@@ -1710,10 +1752,12 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x4 == clang
17101752static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x4 == clang::BuiltinType::SveFloat32x4, "");
17111753static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, "");
17121754static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, "");
1755static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8x4 == clang::BuiltinType::SveMFloat8x4, "");
17131756static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
17141757static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBoolx2 == clang::BuiltinType::SveBoolx2, "");
17151758static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBoolx4 == clang::BuiltinType::SveBoolx4, "");
17161759static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveCount == clang::BuiltinType::SveCount, "");
1760static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeMFloat8 == clang::BuiltinType::MFloat8, "");
17171761static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorQuad == clang::BuiltinType::VectorQuad, "");
17181762static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorPair == clang::BuiltinType::VectorPair, "");
17191763static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf8 == clang::BuiltinType::RvvInt8mf8, "");
......@@ -2041,6 +2085,8 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x4 == cl
20412085static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m4x2 == clang::BuiltinType::RvvBFloat16m4x2, "");
20422086static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeWasmExternRef == clang::BuiltinType::WasmExternRef, "");
20432087static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeAMDGPUBufferRsrc == clang::BuiltinType::AMDGPUBufferRsrc, "");
2088static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeAMDGPUNamedWorkgroupBarrier == clang::BuiltinType::AMDGPUNamedWorkgroupBarrier, "");
2089static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeHLSLResource == clang::BuiltinType::HLSLResource, "");
20442090static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
20452091static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
20462092static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
......@@ -3074,7 +3120,8 @@ ZigClangAPValueLValueBase ZigClangAPValue_getLValueBase(const ZigClangAPValue *s
30743120ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char **args_end,
30753121 struct Stage2ErrorMsg **errors_ptr, size_t *errors_len, const char *resources_path)
30763122{
3077 clang::IntrusiveRefCntPtr<clang::DiagnosticsEngine> diags(clang::CompilerInstance::createDiagnostics(new clang::DiagnosticOptions));
3123 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS = llvm::vfs::getRealFileSystem();
3124 clang::IntrusiveRefCntPtr<clang::DiagnosticsEngine> diags(clang::CompilerInstance::createDiagnostics(*VFS, new clang::DiagnosticOptions));
30783125
30793126 std::shared_ptr<clang::PCHContainerOperations> pch_container_ops = std::make_shared<clang::PCHContainerOperations>();
30803127
......@@ -3088,7 +3135,6 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char
30883135 llvm::StringRef preamble_storage_path = llvm::StringRef();
30893136 clang::ArrayRef<clang::ASTUnit::RemappedFile> remapped_files = std::nullopt;
30903137 std::unique_ptr<clang::ASTUnit> err_unit;
3091 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS = nullptr;
30923138 std::optional<llvm::StringRef> ModuleFormat = std::nullopt;
30933139 std::unique_ptr<clang::ASTUnit> ast_unit_unique_ptr = clang::ASTUnit::LoadFromCommandLine(
30943140 args_begin, args_end,
......@@ -4112,13 +4158,16 @@ static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEsi
41124158static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEdouble == llvm::APFloatBase::S_IEEEdouble);
41134159static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEquad == llvm::APFloatBase::S_IEEEquad);
41144160static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDouble == llvm::APFloatBase::S_PPCDoubleDouble);
4161static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDoubleLegacy == llvm::APFloatBase::S_PPCDoubleDoubleLegacy);
41154162static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2 == llvm::APFloatBase::S_Float8E5M2);
41164163static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ == llvm::APFloatBase::S_Float8E5M2FNUZ);
41174164static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3 == llvm::APFloatBase::S_Float8E4M3);
41184165static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FN == llvm::APFloatBase::S_Float8E4M3FN);
41194166static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ == llvm::APFloatBase::S_Float8E4M3FNUZ);
41204167static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ == llvm::APFloatBase::S_Float8E4M3B11FNUZ);
4168static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E3M4 == llvm::APFloatBase::S_Float8E3M4);
41214169static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_FloatTF32 == llvm::APFloatBase::S_FloatTF32);
4170static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E8M0FNU == llvm::APFloatBase::S_Float8E8M0FNU);
41224171static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float6E3M2FN == llvm::APFloatBase::S_Float6E3M2FN);
41234172static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float6E2M3FN == llvm::APFloatBase::S_Float6E2M3FN);
41244173static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float4E2M1FN == llvm::APFloatBase::S_Float4E2M1FN);
src/zig_clang.h+27-1
......@@ -75,7 +75,7 @@ struct ZigClangAPValue {
7575#elif defined(__i386__)
7676 char Data[48];
7777#else
78 char Data[68];
78 char Data[52];
7979#endif
8080};
8181
......@@ -271,6 +271,7 @@ enum ZigClangTypeClass {
271271 ZigClangType_Elaborated,
272272 ZigClangType_FunctionNoProto,
273273 ZigClangType_FunctionProto,
274 ZigClangType_HLSLAttributedResource,
274275 ZigClangType_InjectedClassName,
275276 ZigClangType_MacroQualified,
276277 ZigClangType_ConstantMatrix,
......@@ -330,6 +331,7 @@ enum ZigClangStmtClass {
330331 ZigClangStmt_PackExpansionExprClass,
331332 ZigClangStmt_UnresolvedMemberExprClass,
332333 ZigClangStmt_UnresolvedLookupExprClass,
334 ZigClangStmt_OpenACCAsteriskSizeExprClass,
333335 ZigClangStmt_OpaqueValueExprClass,
334336 ZigClangStmt_OffsetOfExprClass,
335337 ZigClangStmt_ObjCSubscriptRefExprClass,
......@@ -360,6 +362,7 @@ enum ZigClangStmtClass {
360362 ZigClangStmt_InitListExprClass,
361363 ZigClangStmt_ImplicitValueInitExprClass,
362364 ZigClangStmt_ImaginaryLiteralClass,
365 ZigClangStmt_HLSLOutArgExprClass,
363366 ZigClangStmt_GenericSelectionExprClass,
364367 ZigClangStmt_GNUNullExprClass,
365368 ZigClangStmt_FunctionParmPackExprClass,
......@@ -437,13 +440,24 @@ enum ZigClangStmtClass {
437440 ZigClangStmt_SwitchStmtClass,
438441 ZigClangStmt_DefaultStmtClass,
439442 ZigClangStmt_CaseStmtClass,
443 ZigClangStmt_SYCLKernelCallStmtClass,
440444 ZigClangStmt_SEHTryStmtClass,
441445 ZigClangStmt_SEHLeaveStmtClass,
442446 ZigClangStmt_SEHFinallyStmtClass,
443447 ZigClangStmt_SEHExceptStmtClass,
444448 ZigClangStmt_ReturnStmtClass,
449 ZigClangStmt_OpenACCWaitConstructClass,
450 ZigClangStmt_OpenACCUpdateConstructClass,
451 ZigClangStmt_OpenACCShutdownConstructClass,
452 ZigClangStmt_OpenACCSetConstructClass,
453 ZigClangStmt_OpenACCInitConstructClass,
454 ZigClangStmt_OpenACCExitDataConstructClass,
455 ZigClangStmt_OpenACCEnterDataConstructClass,
445456 ZigClangStmt_OpenACCLoopConstructClass,
457 ZigClangStmt_OpenACCHostDataConstructClass,
458 ZigClangStmt_OpenACCDataConstructClass,
446459 ZigClangStmt_OpenACCComputeConstructClass,
460 ZigClangStmt_OpenACCCombinedConstructClass,
447461 ZigClangStmt_ObjCForCollectionStmtClass,
448462 ZigClangStmt_ObjCAutoreleasePoolStmtClass,
449463 ZigClangStmt_ObjCAtTryStmtClass,
......@@ -525,6 +539,7 @@ enum ZigClangStmtClass {
525539 ZigClangStmt_OMPCancelDirectiveClass,
526540 ZigClangStmt_OMPBarrierDirectiveClass,
527541 ZigClangStmt_OMPAtomicDirectiveClass,
542 ZigClangStmt_OMPAssumeDirectiveClass,
528543 ZigClangStmt_OMPCanonicalLoopClass,
529544 ZigClangStmt_NullStmtClass,
530545 ZigClangStmt_MSDependentExistsStmtClass,
......@@ -619,6 +634,7 @@ enum ZigClangDeclKind {
619634 ZigClangDeclTranslationUnit,
620635 ZigClangDeclTopLevelStmt,
621636 ZigClangDeclRequiresExprBody,
637 ZigClangDeclOutlinedFunction,
622638 ZigClangDeclLinkageSpec,
623639 ZigClangDeclExternCContext,
624640 ZigClangDeclExport,
......@@ -765,6 +781,7 @@ enum ZigClangBuiltinTypeKind {
765781 ZigClangBuiltinTypeSveFloat32,
766782 ZigClangBuiltinTypeSveFloat64,
767783 ZigClangBuiltinTypeSveBFloat16,
784 ZigClangBuiltinTypeSveMFloat8,
768785 ZigClangBuiltinTypeSveInt8x2,
769786 ZigClangBuiltinTypeSveInt16x2,
770787 ZigClangBuiltinTypeSveInt32x2,
......@@ -777,6 +794,7 @@ enum ZigClangBuiltinTypeKind {
777794 ZigClangBuiltinTypeSveFloat32x2,
778795 ZigClangBuiltinTypeSveFloat64x2,
779796 ZigClangBuiltinTypeSveBFloat16x2,
797 ZigClangBuiltinTypeSveMFloat8x2,
780798 ZigClangBuiltinTypeSveInt8x3,
781799 ZigClangBuiltinTypeSveInt16x3,
782800 ZigClangBuiltinTypeSveInt32x3,
......@@ -789,6 +807,7 @@ enum ZigClangBuiltinTypeKind {
789807 ZigClangBuiltinTypeSveFloat32x3,
790808 ZigClangBuiltinTypeSveFloat64x3,
791809 ZigClangBuiltinTypeSveBFloat16x3,
810 ZigClangBuiltinTypeSveMFloat8x3,
792811 ZigClangBuiltinTypeSveInt8x4,
793812 ZigClangBuiltinTypeSveInt16x4,
794813 ZigClangBuiltinTypeSveInt32x4,
......@@ -801,10 +820,12 @@ enum ZigClangBuiltinTypeKind {
801820 ZigClangBuiltinTypeSveFloat32x4,
802821 ZigClangBuiltinTypeSveFloat64x4,
803822 ZigClangBuiltinTypeSveBFloat16x4,
823 ZigClangBuiltinTypeSveMFloat8x4,
804824 ZigClangBuiltinTypeSveBool,
805825 ZigClangBuiltinTypeSveBoolx2,
806826 ZigClangBuiltinTypeSveBoolx4,
807827 ZigClangBuiltinTypeSveCount,
828 ZigClangBuiltinTypeMFloat8,
808829 ZigClangBuiltinTypeVectorQuad,
809830 ZigClangBuiltinTypeVectorPair,
810831 ZigClangBuiltinTypeRvvInt8mf8,
......@@ -1132,6 +1153,8 @@ enum ZigClangBuiltinTypeKind {
11321153 ZigClangBuiltinTypeRvvBFloat16m4x2,
11331154 ZigClangBuiltinTypeWasmExternRef,
11341155 ZigClangBuiltinTypeAMDGPUBufferRsrc,
1156 ZigClangBuiltinTypeAMDGPUNamedWorkgroupBarrier,
1157 ZigClangBuiltinTypeHLSLResource,
11351158 ZigClangBuiltinTypeVoid,
11361159 ZigClangBuiltinTypeBool,
11371160 ZigClangBuiltinTypeChar_U,
......@@ -1266,13 +1289,16 @@ enum ZigClangAPFloatBase_Semantics {
12661289 ZigClangAPFloatBase_Semantics_IEEEdouble,
12671290 ZigClangAPFloatBase_Semantics_IEEEquad,
12681291 ZigClangAPFloatBase_Semantics_PPCDoubleDouble,
1292 ZigClangAPFloatBase_Semantics_PPCDoubleDoubleLegacy,
12691293 ZigClangAPFloatBase_Semantics_Float8E5M2,
12701294 ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ,
12711295 ZigClangAPFloatBase_Semantics_Float8E4M3,
12721296 ZigClangAPFloatBase_Semantics_Float8E4M3FN,
12731297 ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ,
12741298 ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ,
1299 ZigClangAPFloatBase_Semantics_Float8E3M4,
12751300 ZigClangAPFloatBase_Semantics_FloatTF32,
1301 ZigClangAPFloatBase_Semantics_Float8E8M0FNU,
12761302 ZigClangAPFloatBase_Semantics_Float6E3M2FN,
12771303 ZigClangAPFloatBase_Semantics_Float6E2M3FN,
12781304 ZigClangAPFloatBase_Semantics_Float4E2M1FN,
src/zig_llvm.cpp+4-4
......@@ -300,7 +300,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
300300 pass_builder.registerLoopAnalyses(loop_am);
301301 pass_builder.crossRegisterProxies(loop_am, function_am, cgscc_am, module_am);
302302
303 pass_builder.registerPipelineStartEPCallback([&](ModulePassManager &module_pm, OptimizationLevel OL) {
303 pass_builder.registerPipelineStartEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level) {
304304 // Verify the input
305305 if (assertions_on) {
306306 module_pm.addPass(VerifierPass());
......@@ -313,7 +313,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
313313
314314 const bool early_san = options->is_debug;
315315
316 pass_builder.registerOptimizerEarlyEPCallback([&](ModulePassManager &module_pm, OptimizationLevel OL) {
316 pass_builder.registerOptimizerEarlyEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level, ThinOrFullLTOPhase lto_phase) {
317317 if (early_san) {
318318 // Code coverage instrumentation.
319319 if (options->sancov) {
......@@ -328,7 +328,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
328328 }
329329 });
330330
331 pass_builder.registerOptimizerLastEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level) {
331 pass_builder.registerOptimizerLastEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level, ThinOrFullLTOPhase lto_phase) {
332332 if (!early_san) {
333333 // Code coverage instrumentation.
334334 if (options->sancov) {
......@@ -360,7 +360,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
360360
361361 // Initialize the PassManager
362362 if (opt_level == OptimizationLevel::O0) {
363 module_pm = pass_builder.buildO0DefaultPipeline(opt_level, options->lto);
363 module_pm = pass_builder.buildO0DefaultPipeline(opt_level, static_cast<ThinOrFullLTOPhase>(options->lto));
364364 } else if (options->lto) {
365365 module_pm = pass_builder.buildLTOPreLinkDefaultPipeline(opt_level);
366366 } else {
src/zig_llvm.h+11-1
......@@ -53,13 +53,23 @@ struct ZigLLVMCoverageOptions {
5353 bool CollectControlFlow;
5454};
5555
56// synchronize with llvm/include/Pass.h::ThinOrFullLTOPhase
57// synchronize with codegen/llvm/bindings.zig::EmitOptions::LtoPhase
58enum ZigLLVMThinOrFullLTOPhase {
59 ZigLLVMThinOrFullLTOPhase_None,
60 ZigLLVMThinOrFullLTOPhase_ThinPreLink,
61 ZigLLVMThinOrFullLTOPhase_ThinkPostLink,
62 ZigLLVMThinOrFullLTOPhase_FullPreLink,
63 ZigLLVMThinOrFullLTOPhase_FullPostLink,
64};
65
5666struct ZigLLVMEmitOptions {
5767 bool is_debug;
5868 bool is_small;
5969 bool time_report;
6070 bool tsan;
6171 bool sancov;
62 bool lto;
72 ZigLLVMThinOrFullLTOPhase lto;
6373 bool allow_fast_isel;
6474 const char *asm_filename;
6575 const char *bin_filename;
test/translate_c.zig+18-18
......@@ -1061,28 +1061,28 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
10611061 \\ VAL23 = 0xFFFFFFFFFFFFFFFF,
10621062 \\};
10631063 , &[_][]const u8{
1064 \\pub const VAL01: c_int = 0;
1065 \\pub const VAL02: c_int = 1;
1066 \\pub const VAL03: c_int = 2;
1067 \\pub const VAL04: c_int = 3;
1068 \\pub const VAL05: c_int = -1;
1069 \\pub const VAL06: c_int = -2;
1070 \\pub const VAL07: c_int = -3;
1071 \\pub const VAL08: c_int = -4;
1072 \\pub const VAL09: c_int = -3;
1073 \\pub const VAL10: c_int = -1000012000;
1074 \\pub const VAL11: c_int = -1000161000;
1075 \\pub const VAL12: c_int = -1000174001;
1076 \\pub const VAL13: c_int = -3;
1077 \\pub const VAL14: c_int = -1000012000;
1078 \\pub const VAL15: c_int = -1000161000;
1079 \\pub const VAL16: c_int = -3;
1080 \\pub const VAL17: c_int = 1000011998;
1064 \\pub const VAL01: c_longlong = 0;
1065 \\pub const VAL02: c_longlong = 1;
1066 \\pub const VAL03: c_longlong = 2;
1067 \\pub const VAL04: c_longlong = 3;
1068 \\pub const VAL05: c_longlong = -1;
1069 \\pub const VAL06: c_longlong = -2;
1070 \\pub const VAL07: c_longlong = -3;
1071 \\pub const VAL08: c_longlong = -4;
1072 \\pub const VAL09: c_longlong = -3;
1073 \\pub const VAL10: c_longlong = -1000012000;
1074 \\pub const VAL11: c_longlong = -1000161000;
1075 \\pub const VAL12: c_longlong = -1000174001;
1076 \\pub const VAL13: c_longlong = -3;
1077 \\pub const VAL14: c_longlong = -1000012000;
1078 \\pub const VAL15: c_longlong = -1000161000;
1079 \\pub const VAL16: c_longlong = -3;
1080 \\pub const VAL17: c_longlong = 1000011998;
10811081 \\pub const VAL18: c_longlong = 1152921504606846976;
10821082 \\pub const VAL19: c_longlong = 3458764513820540927;
10831083 \\pub const VAL20: c_longlong = 6917529027641081854;
10841084 \\pub const VAL21: c_longlong = 6917529027641081853;
1085 \\pub const VAL22: c_int = 0;
1085 \\pub const VAL22: c_longlong = 0;
10861086 \\pub const VAL23: c_longlong = -1;
10871087 \\pub const enum_EnumWithInits = c_longlong;
10881088 });