authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-08-16 01:11:10-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-08-16 01:11:10-07:00
log2f599b655b81004f101773b3b35dc112c0d84b72
treea296b4086ee0d829cab7e7d0cb7488ebf492a622
parenta69b86003c737aeb42f015bb9225b3900b932add

update src/ to LLVM 13 rc1 API


11 files changed, 542 insertions(+), 301 deletions(-)

lib/std/target.zig+7
......@@ -464,6 +464,7 @@ pub const Target = struct {
464464 musl,
465465 musleabi,
466466 musleabihf,
467 muslx32,
467468 msvc,
468469 itanium,
469470 cygnus,
......@@ -758,6 +759,7 @@ pub const Target = struct {
758759 bpfeb,
759760 csky,
760761 hexagon,
762 m68k,
761763 mips,
762764 mipsel,
763765 mips64,
......@@ -900,6 +902,7 @@ pub const Target = struct {
900902 .arm => ._ARM,
901903 .armeb => ._ARM,
902904 .hexagon => ._HEXAGON,
905 .m68k => ._68K,
903906 .le32 => ._NONE,
904907 .mips => ._MIPS,
905908 .mipsel => ._MIPS_RS3_LE,
......@@ -960,6 +963,7 @@ pub const Target = struct {
960963 .arm => .ARM,
961964 .armeb => .Unknown,
962965 .hexagon => .Unknown,
966 .m68k => .Unknown,
963967 .le32 => .Unknown,
964968 .mips => .Unknown,
965969 .mipsel => .Unknown,
......@@ -1063,6 +1067,7 @@ pub const Target = struct {
10631067 .armeb,
10641068 .aarch64_be,
10651069 .bpfeb,
1070 .m68k,
10661071 .mips,
10671072 .mips64,
10681073 .powerpc,
......@@ -1089,6 +1094,7 @@ pub const Target = struct {
10891094 .armeb,
10901095 .csky,
10911096 .hexagon,
1097 .m68k,
10921098 .le32,
10931099 .mips,
10941100 .mipsel,
......@@ -1587,6 +1593,7 @@ pub const Target = struct {
15871593 .arc,
15881594 .csky,
15891595 .hexagon,
1596 .m68k,
15901597 .msp430,
15911598 .r600,
15921599 .amdgcn,
src/clang.zig+78-1
......@@ -1168,13 +1168,16 @@ const StmtClass = enum(c_int) {
11681168 IndirectGotoStmtClass,
11691169 MSDependentExistsStmtClass,
11701170 NullStmtClass,
1171 OMPCanonicalLoopClass,
11711172 OMPAtomicDirectiveClass,
11721173 OMPBarrierDirectiveClass,
11731174 OMPCancelDirectiveClass,
11741175 OMPCancellationPointDirectiveClass,
11751176 OMPCriticalDirectiveClass,
11761177 OMPDepobjDirectiveClass,
1178 OMPDispatchDirectiveClass,
11771179 OMPFlushDirectiveClass,
1180 OMPInteropDirectiveClass,
11781181 OMPDistributeDirectiveClass,
11791182 OMPDistributeParallelForDirectiveClass,
11801183 OMPDistributeParallelForSimdDirectiveClass,
......@@ -1200,6 +1203,9 @@ const StmtClass = enum(c_int) {
12001203 OMPTeamsDistributeParallelForDirectiveClass,
12011204 OMPTeamsDistributeParallelForSimdDirectiveClass,
12021205 OMPTeamsDistributeSimdDirectiveClass,
1206 OMPTileDirectiveClass,
1207 OMPUnrollDirectiveClass,
1208 OMPMaskedDirectiveClass,
12031209 OMPMasterDirectiveClass,
12041210 OMPOrderedDirectiveClass,
12051211 OMPParallelDirectiveClass,
......@@ -1348,6 +1354,7 @@ const StmtClass = enum(c_int) {
13481354 PseudoObjectExprClass,
13491355 RecoveryExprClass,
13501356 RequiresExprClass,
1357 SYCLUniqueStableNameExprClass,
13511358 ShuffleVectorExprClass,
13521359 SizeOfPackExprClass,
13531360 SourceLocExprClass,
......@@ -1390,6 +1397,7 @@ pub const CK = enum(c_int) {
13901397 PointerToIntegral,
13911398 PointerToBoolean,
13921399 ToVoid,
1400 MatrixCast,
13931401 VectorSplat,
13941402 IntegralCast,
13951403 IntegralToBoolean,
......@@ -1445,6 +1453,8 @@ pub const DeclKind = enum(c_int) {
14451453 Import,
14461454 LifetimeExtendedTemporary,
14471455 LinkageSpec,
1456 Using,
1457 UsingEnum,
14481458 Label,
14491459 Namespace,
14501460 NamespaceAlias,
......@@ -1473,7 +1483,7 @@ pub const DeclKind = enum(c_int) {
14731483 TypeAlias,
14741484 Typedef,
14751485 UnresolvedUsingTypename,
1476 Using,
1486 UnresolvedUsingIfExists,
14771487 UsingDirective,
14781488 UsingPack,
14791489 UsingShadow,
......@@ -1615,6 +1625,72 @@ pub const BuiltinTypeKind = enum(c_int) {
16151625 SveBool,
16161626 VectorQuad,
16171627 VectorPair,
1628 RvvInt8mf8,
1629 RvvInt8mf4,
1630 RvvInt8mf2,
1631 RvvInt8m1,
1632 RvvInt8m2,
1633 RvvInt8m4,
1634 RvvInt8m8,
1635 RvvUint8mf8,
1636 RvvUint8mf4,
1637 RvvUint8mf2,
1638 RvvUint8m1,
1639 RvvUint8m2,
1640 RvvUint8m4,
1641 RvvUint8m8,
1642 RvvInt16mf4,
1643 RvvInt16mf2,
1644 RvvInt16m1,
1645 RvvInt16m2,
1646 RvvInt16m4,
1647 RvvInt16m8,
1648 RvvUint16mf4,
1649 RvvUint16mf2,
1650 RvvUint16m1,
1651 RvvUint16m2,
1652 RvvUint16m4,
1653 RvvUint16m8,
1654 RvvInt32mf2,
1655 RvvInt32m1,
1656 RvvInt32m2,
1657 RvvInt32m4,
1658 RvvInt32m8,
1659 RvvUint32mf2,
1660 RvvUint32m1,
1661 RvvUint32m2,
1662 RvvUint32m4,
1663 RvvUint32m8,
1664 RvvInt64m1,
1665 RvvInt64m2,
1666 RvvInt64m4,
1667 RvvInt64m8,
1668 RvvUint64m1,
1669 RvvUint64m2,
1670 RvvUint64m4,
1671 RvvUint64m8,
1672 RvvFloat16mf4,
1673 RvvFloat16mf2,
1674 RvvFloat16m1,
1675 RvvFloat16m2,
1676 RvvFloat16m4,
1677 RvvFloat16m8,
1678 RvvFloat32mf2,
1679 RvvFloat32m1,
1680 RvvFloat32m2,
1681 RvvFloat32m4,
1682 RvvFloat32m8,
1683 RvvFloat64m1,
1684 RvvFloat64m2,
1685 RvvFloat64m4,
1686 RvvFloat64m8,
1687 RvvBool1,
1688 RvvBool2,
1689 RvvBool4,
1690 RvvBool8,
1691 RvvBool16,
1692 RvvBool32,
1693 RvvBool64,
16181694 Void,
16191695 Bool,
16201696 Char_U,
......@@ -1705,6 +1781,7 @@ pub const CallingConv = enum(c_int) {
17051781 SpirFunction,
17061782 OpenCLKernel,
17071783 Swift,
1784 SwiftAsync,
17081785 PreserveMost,
17091786 PreserveAll,
17101787 AArch64VectorCall,
src/codegen/llvm.zig+3
......@@ -31,6 +31,7 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![:0]u8 {
3131 .bpfeb => "bpfeb",
3232 .csky => "csky",
3333 .hexagon => "hexagon",
34 .m68k => "m68k",
3435 .mips => "mips",
3536 .mipsel => "mipsel",
3637 .mips64 => "mips64",
......@@ -140,6 +141,7 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![:0]u8 {
140141 .musl => "musl",
141142 .musleabi => "musleabi",
142143 .musleabihf => "musleabihf",
144 .muslx32 => "muslx32",
143145 .msvc => "msvc",
144146 .itanium => "itanium",
145147 .cygnus => "cygnus",
......@@ -1463,6 +1465,7 @@ pub const FuncGen = struct {
14631465 llvm.Bool.fromBool(is_volatile),
14641466 .False,
14651467 .ATT,
1468 .False,
14661469 );
14671470 return self.builder.buildCall(
14681471 asm_fn,
src/codegen/llvm/bindings.zig+2
......@@ -259,6 +259,7 @@ extern fn LLVMGetInlineAsm(
259259 HasSideEffects: Bool,
260260 IsAlignStack: Bool,
261261 Dialect: InlineAsmDialect,
262 CanThrow: Bool,
262263) *const Value;
263264
264265pub const functionType = LLVMFunctionType;
......@@ -840,6 +841,7 @@ pub const ArchType = enum(c_int) {
840841 bpfeb,
841842 csky,
842843 hexagon,
844 m68k,
843845 mips,
844846 mipsel,
845847 mips64,
src/stage1/codegen.cpp+20-19
......@@ -3953,7 +3953,7 @@ static LLVMValueRef gen_valgrind_client_request(CodeGen *g, LLVMValueRef default
39533953 input_and_output_count, false);
39543954 LLVMValueRef asm_fn = LLVMGetInlineAsm(function_type, buf_ptr(asm_template), buf_len(asm_template),
39553955 buf_ptr(asm_constraints), buf_len(asm_constraints), asm_has_side_effects, asm_is_alignstack,
3956 LLVMInlineAsmDialectATT);
3956 LLVMInlineAsmDialectATT, false);
39573957 return LLVMBuildCall(g->builder, asm_fn, param_values, input_and_output_count, "");
39583958 }
39593959 }
......@@ -5064,7 +5064,7 @@ static LLVMValueRef ir_render_asm_gen(CodeGen *g, Stage1Air *executable, Stage1A
50645064
50655065 bool is_volatile = instruction->has_side_effects || (asm_expr->output_list.length == 0);
50665066 LLVMValueRef asm_fn = LLVMGetInlineAsm(function_type, buf_ptr(&llvm_template), buf_len(&llvm_template),
5067 buf_ptr(&constraint_buf), buf_len(&constraint_buf), is_volatile, false, LLVMInlineAsmDialectATT);
5067 buf_ptr(&constraint_buf), buf_len(&constraint_buf), is_volatile, false, LLVMInlineAsmDialectATT, false);
50685068
50695069 LLVMValueRef built_call = LLVMBuildCall(g->builder, asm_fn, param_values, (unsigned)input_and_output_count, "");
50705070 heap::c_allocator.deallocate(param_values, input_and_output_count);
......@@ -5606,21 +5606,21 @@ static LLVMAtomicOrdering to_LLVMAtomicOrdering(AtomicOrder atomic_order) {
56065606 zig_unreachable();
56075607}
56085608
5609static enum ZigLLVM_AtomicRMWBinOp to_ZigLLVMAtomicRMWBinOp(AtomicRmwOp op, bool is_signed, bool is_float) {
5609static LLVMAtomicRMWBinOp to_LLVMAtomicRMWBinOp(AtomicRmwOp op, bool is_signed, bool is_float) {
56105610 switch (op) {
5611 case AtomicRmwOp_xchg: return ZigLLVMAtomicRMWBinOpXchg;
5611 case AtomicRmwOp_xchg: return LLVMAtomicRMWBinOpXchg;
56125612 case AtomicRmwOp_add:
5613 return is_float ? ZigLLVMAtomicRMWBinOpFAdd : ZigLLVMAtomicRMWBinOpAdd;
5613 return is_float ? LLVMAtomicRMWBinOpFAdd : LLVMAtomicRMWBinOpAdd;
56145614 case AtomicRmwOp_sub:
5615 return is_float ? ZigLLVMAtomicRMWBinOpFSub : ZigLLVMAtomicRMWBinOpSub;
5616 case AtomicRmwOp_and: return ZigLLVMAtomicRMWBinOpAnd;
5617 case AtomicRmwOp_nand: return ZigLLVMAtomicRMWBinOpNand;
5618 case AtomicRmwOp_or: return ZigLLVMAtomicRMWBinOpOr;
5619 case AtomicRmwOp_xor: return ZigLLVMAtomicRMWBinOpXor;
5615 return is_float ? LLVMAtomicRMWBinOpFSub : LLVMAtomicRMWBinOpSub;
5616 case AtomicRmwOp_and: return LLVMAtomicRMWBinOpAnd;
5617 case AtomicRmwOp_nand: return LLVMAtomicRMWBinOpNand;
5618 case AtomicRmwOp_or: return LLVMAtomicRMWBinOpOr;
5619 case AtomicRmwOp_xor: return LLVMAtomicRMWBinOpXor;
56205620 case AtomicRmwOp_max:
5621 return is_signed ? ZigLLVMAtomicRMWBinOpMax : ZigLLVMAtomicRMWBinOpUMax;
5621 return is_signed ? LLVMAtomicRMWBinOpMax : LLVMAtomicRMWBinOpUMax;
56225622 case AtomicRmwOp_min:
5623 return is_signed ? ZigLLVMAtomicRMWBinOpMin : ZigLLVMAtomicRMWBinOpUMin;
5623 return is_signed ? LLVMAtomicRMWBinOpMin : LLVMAtomicRMWBinOpUMin;
56245624 }
56255625 zig_unreachable();
56265626}
......@@ -5679,8 +5679,9 @@ static LLVMValueRef ir_render_cmpxchg(CodeGen *g, Stage1Air *executable, Stage1A
56795679 LLVMAtomicOrdering success_order = to_LLVMAtomicOrdering(instruction->success_order);
56805680 LLVMAtomicOrdering failure_order = to_LLVMAtomicOrdering(instruction->failure_order);
56815681
5682 LLVMValueRef result_val = ZigLLVMBuildCmpXchg(g->builder, ptr_val, cmp_val, new_val,
5683 success_order, failure_order, instruction->is_weak);
5682 LLVMValueRef result_val = LLVMBuildAtomicCmpXchg(g->builder, ptr_val, cmp_val, new_val,
5683 success_order, failure_order, g->is_single_threaded);
5684 LLVMSetWeak(result_val, instruction->is_weak);
56845685
56855686 ZigType *optional_type = instruction->base.value->type;
56865687 assert(optional_type->id == ZigTypeIdOptional);
......@@ -6446,13 +6447,13 @@ static LLVMValueRef ir_render_atomic_rmw(CodeGen *g, Stage1Air *executable,
64466447 } else {
64476448 is_signed = false;
64486449 }
6449 enum ZigLLVM_AtomicRMWBinOp op = to_ZigLLVMAtomicRMWBinOp(instruction->op, is_signed, is_float);
6450 LLVMAtomicRMWBinOp op = to_LLVMAtomicRMWBinOp(instruction->op, is_signed, is_float);
64506451 LLVMAtomicOrdering ordering = to_LLVMAtomicOrdering(instruction->ordering);
64516452 LLVMValueRef ptr = ir_llvm_value(g, instruction->ptr);
64526453 LLVMValueRef operand = ir_llvm_value(g, instruction->operand);
64536454
64546455 LLVMTypeRef actual_abi_type = get_atomic_abi_type(g, instruction->ptr,
6455 op == ZigLLVMAtomicRMWBinOpXchg);
6456 op == LLVMAtomicRMWBinOpXchg);
64566457 if (actual_abi_type != nullptr) {
64576458 // operand needs widening and truncating or bitcasting.
64586459 LLVMValueRef casted_ptr = LLVMBuildBitCast(g->builder, ptr,
......@@ -6465,7 +6466,7 @@ static LLVMValueRef ir_render_atomic_rmw(CodeGen *g, Stage1Air *executable,
64656466 } else {
64666467 casted_operand = LLVMBuildZExt(g->builder, operand, actual_abi_type, "");
64676468 }
6468 LLVMValueRef uncasted_result = ZigLLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
6469 LLVMValueRef uncasted_result = LLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
64696470 g->is_single_threaded);
64706471 if (is_float) {
64716472 return LLVMBuildBitCast(g->builder, uncasted_result, get_llvm_type(g, operand_type), "");
......@@ -6475,14 +6476,14 @@ static LLVMValueRef ir_render_atomic_rmw(CodeGen *g, Stage1Air *executable,
64756476 }
64766477
64776478 if (get_codegen_ptr_type_bail(g, operand_type) == nullptr) {
6478 return ZigLLVMBuildAtomicRMW(g->builder, op, ptr, operand, ordering, g->is_single_threaded);
6479 return LLVMBuildAtomicRMW(g->builder, op, ptr, operand, ordering, g->is_single_threaded);
64796480 }
64806481
64816482 // it's a pointer but we need to treat it as an int
64826483 LLVMValueRef casted_ptr = LLVMBuildBitCast(g->builder, ptr,
64836484 LLVMPointerType(g->builtin_types.entry_usize->llvm_type, 0), "");
64846485 LLVMValueRef casted_operand = LLVMBuildPtrToInt(g->builder, operand, g->builtin_types.entry_usize->llvm_type, "");
6485 LLVMValueRef uncasted_result = ZigLLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
6486 LLVMValueRef uncasted_result = LLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
64866487 g->is_single_threaded);
64876488 return LLVMBuildIntToPtr(g->builder, uncasted_result, get_llvm_type(g, operand_type), "");
64886489}
src/stage1/target.cpp+7-1
......@@ -25,6 +25,7 @@ static const ZigLLVM_ArchType arch_list[] = {
2525 ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
2626 ZigLLVM_csky, // CSKY: csky
2727 ZigLLVM_hexagon, // Hexagon: hexagon
28 ZigLLVM_m68k, // M68k: Motorola 680x0 family
2829 ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6
2930 ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el
3031 ZigLLVM_mips64, // MIPS64: mips64, mips64r6, mipsn32, mipsn32r6
......@@ -147,6 +148,7 @@ static const ZigLLVM_EnvironmentType abi_list[] = {
147148 ZigLLVM_Musl,
148149 ZigLLVM_MuslEABI,
149150 ZigLLVM_MuslEABIHF,
151 ZigLLVM_MuslX32,
150152
151153 ZigLLVM_MSVC,
152154 ZigLLVM_Itanium,
......@@ -497,6 +499,7 @@ uint32_t target_arch_pointer_bit_width(ZigLLVM_ArchType arch) {
497499 case ZigLLVM_arm:
498500 case ZigLLVM_armeb:
499501 case ZigLLVM_hexagon:
502 case ZigLLVM_m68k:
500503 case ZigLLVM_le32:
501504 case ZigLLVM_mips:
502505 case ZigLLVM_mipsel:
......@@ -564,6 +567,7 @@ uint32_t target_arch_largest_atomic_bits(ZigLLVM_ArchType arch) {
564567 case ZigLLVM_arm:
565568 case ZigLLVM_armeb:
566569 case ZigLLVM_hexagon:
570 case ZigLLVM_m68k:
567571 case ZigLLVM_le32:
568572 case ZigLLVM_mips:
569573 case ZigLLVM_mipsel:
......@@ -798,6 +802,8 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) {
798802 case ZigLLVM_aarch64_32:
799803 case ZigLLVM_riscv32:
800804 case ZigLLVM_riscv64:
805 case ZigLLVM_m68k:
806 case ZigLLVM_mips:
801807 case ZigLLVM_mipsel:
802808 case ZigLLVM_ppc:
803809 case ZigLLVM_ppcle:
......@@ -824,7 +830,6 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) {
824830 case ZigLLVM_kalimba:
825831 case ZigLLVM_le32:
826832 case ZigLLVM_le64:
827 case ZigLLVM_mips:
828833 case ZigLLVM_mips64:
829834 case ZigLLVM_mips64el:
830835 case ZigLLVM_msp430:
......@@ -873,6 +878,7 @@ bool target_is_arm(const ZigTarget *target) {
873878 case ZigLLVM_bpfel:
874879 case ZigLLVM_csky:
875880 case ZigLLVM_hexagon:
881 case ZigLLVM_m68k:
876882 case ZigLLVM_lanai:
877883 case ZigLLVM_hsail:
878884 case ZigLLVM_hsail64:
src/target.zig+5
......@@ -34,6 +34,8 @@ pub const available_libcs = [_]ArchOsAbi{
3434 .{ .arch = .i386, .os = .linux, .abi = .gnu },
3535 .{ .arch = .i386, .os = .linux, .abi = .musl },
3636 .{ .arch = .i386, .os = .windows, .abi = .gnu },
37 .{ .arch = .m68k, .os = .linux, .abi = .gnu },
38 .{ .arch = .m68k, .os = .linux, .abi = .musl },
3739 .{ .arch = .mips64el, .os = .linux, .abi = .gnuabi64 },
3840 .{ .arch = .mips64el, .os = .linux, .abi = .gnuabin32 },
3941 .{ .arch = .mips64el, .os = .linux, .abi = .musl },
......@@ -83,6 +85,7 @@ pub fn libCGenericName(target: std.Target) [:0]const u8 {
8385 .musl,
8486 .musleabi,
8587 .musleabihf,
88 .muslx32,
8689 .none,
8790 => return "musl",
8891 .code16,
......@@ -186,6 +189,7 @@ pub fn hasLlvmSupport(target: std.Target) bool {
186189 .bpfeb,
187190 .csky,
188191 .hexagon,
192 .m68k,
189193 .mips,
190194 .mipsel,
191195 .mips64,
......@@ -295,6 +299,7 @@ pub fn archToLLVM(arch_tag: std.Target.Cpu.Arch) llvm.ArchType {
295299 .bpfeb => .bpfeb,
296300 .csky => .csky,
297301 .hexagon => .hexagon,
302 .m68k => .m68k,
298303 .mips => .mips,
299304 .mipsel => .mipsel,
300305 .mips64 => .mips64,
src/zig_clang.cpp+334-180
......@@ -164,6 +164,10 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
164164 case clang::CK_DerivedToBase:
165165 case clang::CK_DerivedToBaseMemberPointer:
166166 case clang::CK_Dynamic:
167 case clang::CK_FixedPointCast:
168 case clang::CK_FixedPointToBoolean:
169 case clang::CK_FixedPointToFloating:
170 case clang::CK_FixedPointToIntegral:
167171 case clang::CK_FloatingCast:
168172 case clang::CK_FloatingComplexCast:
169173 case clang::CK_FloatingComplexToBoolean:
......@@ -171,6 +175,7 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
171175 case clang::CK_FloatingComplexToReal:
172176 case clang::CK_FloatingRealToComplex:
173177 case clang::CK_FloatingToBoolean:
178 case clang::CK_FloatingToFixedPoint:
174179 case clang::CK_FloatingToIntegral:
175180 case clang::CK_FunctionToPointerDecay:
176181 case clang::CK_IntToOCLSampler:
......@@ -181,13 +186,13 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
181186 case clang::CK_IntegralComplexToReal:
182187 case clang::CK_IntegralRealToComplex:
183188 case clang::CK_IntegralToBoolean:
189 case clang::CK_IntegralToFixedPoint:
184190 case clang::CK_IntegralToFloating:
185191 case clang::CK_IntegralToPointer:
186 case clang::CK_FloatingToFixedPoint:
187 case clang::CK_FixedPointToFloating:
188192 case clang::CK_LValueBitCast:
189 case clang::CK_LValueToRValueBitCast:
190193 case clang::CK_LValueToRValue:
194 case clang::CK_LValueToRValueBitCast:
195 case clang::CK_MatrixCast:
191196 case clang::CK_MemberPointerToBoolean:
192197 case clang::CK_NoOp:
193198 case clang::CK_NonAtomicToAtomic:
......@@ -203,10 +208,6 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
203208 case clang::CK_UserDefinedConversion:
204209 case clang::CK_VectorSplat:
205210 case clang::CK_ZeroToOCLOpaqueType:
206 case clang::CK_FixedPointCast:
207 case clang::CK_FixedPointToIntegral:
208 case clang::CK_IntegralToFixedPoint:
209 case clang::CK_FixedPointToBoolean:
210211 break;
211212 }
212213};
......@@ -236,6 +237,7 @@ static_assert((clang::CastKind)ZigClangCK_IntegralToPointer == clang::CK_Integra
236237static_assert((clang::CastKind)ZigClangCK_PointerToIntegral == clang::CK_PointerToIntegral, "");
237238static_assert((clang::CastKind)ZigClangCK_PointerToBoolean == clang::CK_PointerToBoolean, "");
238239static_assert((clang::CastKind)ZigClangCK_ToVoid == clang::CK_ToVoid, "");
240static_assert((clang::CastKind)ZigClangCK_MatrixCast == clang::CK_MatrixCast, "");
239241static_assert((clang::CastKind)ZigClangCK_VectorSplat == clang::CK_VectorSplat, "");
240242static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast, "");
241243static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, "");
......@@ -411,13 +413,16 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
411413 case ZigClangStmt_IndirectGotoStmtClass:
412414 case ZigClangStmt_MSDependentExistsStmtClass:
413415 case ZigClangStmt_NullStmtClass:
416 case ZigClangStmt_OMPCanonicalLoopClass:
414417 case ZigClangStmt_OMPAtomicDirectiveClass:
415418 case ZigClangStmt_OMPBarrierDirectiveClass:
416419 case ZigClangStmt_OMPCancelDirectiveClass:
417420 case ZigClangStmt_OMPCancellationPointDirectiveClass:
418421 case ZigClangStmt_OMPCriticalDirectiveClass:
419422 case ZigClangStmt_OMPDepobjDirectiveClass:
423 case ZigClangStmt_OMPDispatchDirectiveClass:
420424 case ZigClangStmt_OMPFlushDirectiveClass:
425 case ZigClangStmt_OMPInteropDirectiveClass:
421426 case ZigClangStmt_OMPDistributeDirectiveClass:
422427 case ZigClangStmt_OMPDistributeParallelForDirectiveClass:
423428 case ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass:
......@@ -443,6 +448,9 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
443448 case ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass:
444449 case ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass:
445450 case ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass:
451 case ZigClangStmt_OMPTileDirectiveClass:
452 case ZigClangStmt_OMPUnrollDirectiveClass:
453 case ZigClangStmt_OMPMaskedDirectiveClass:
446454 case ZigClangStmt_OMPMasterDirectiveClass:
447455 case ZigClangStmt_OMPOrderedDirectiveClass:
448456 case ZigClangStmt_OMPParallelDirectiveClass:
......@@ -591,6 +599,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
591599 case ZigClangStmt_PseudoObjectExprClass:
592600 case ZigClangStmt_RecoveryExprClass:
593601 case ZigClangStmt_RequiresExprClass:
602 case ZigClangStmt_SYCLUniqueStableNameExprClass:
594603 case ZigClangStmt_ShuffleVectorExprClass:
595604 case ZigClangStmt_SizeOfPackExprClass:
596605 case ZigClangStmt_SourceLocExprClass:
......@@ -629,13 +638,16 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_IfStmtClass == clang::Stmt::I
629638static_assert((clang::Stmt::StmtClass)ZigClangStmt_IndirectGotoStmtClass == clang::Stmt::IndirectGotoStmtClass, "");
630639static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
631640static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
641static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCanonicalLoopClass == clang::Stmt::OMPCanonicalLoopClass, "");
632642static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
633643static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
634644static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
635645static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");
636646static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
637647static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDepobjDirectiveClass == clang::Stmt::OMPDepobjDirectiveClass, "");
648static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDispatchDirectiveClass == clang::Stmt::OMPDispatchDirectiveClass, "");
638649static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
650static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPInteropDirectiveClass == clang::Stmt::OMPInteropDirectiveClass, "");
639651static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
640652static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
641653static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPDistributeParallelForSimdDirectiveClass, "");
......@@ -661,6 +673,9 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeDirectiveCl
661673static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass, "");
662674static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");
663675static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");
676static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTileDirectiveClass == clang::Stmt::OMPTileDirectiveClass, "");
677static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPUnrollDirectiveClass == clang::Stmt::OMPUnrollDirectiveClass, "");
678static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedDirectiveClass == clang::Stmt::OMPMaskedDirectiveClass, "");
664679static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == clang::Stmt::OMPMasterDirectiveClass, "");
665680static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == clang::Stmt::OMPOrderedDirectiveClass, "");
666681static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
......@@ -809,6 +824,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang:
809824static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");
810825static_assert((clang::Stmt::StmtClass)ZigClangStmt_RecoveryExprClass == clang::Stmt::RecoveryExprClass, "");
811826static_assert((clang::Stmt::StmtClass)ZigClangStmt_RequiresExprClass == clang::Stmt::RequiresExprClass, "");
827static_assert((clang::Stmt::StmtClass)ZigClangStmt_SYCLUniqueStableNameExprClass == clang::Stmt::SYCLUniqueStableNameExprClass, "");
812828static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
813829static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
814830static_assert((clang::Stmt::StmtClass)ZigClangStmt_SourceLocExprClass == clang::Stmt::SourceLocExprClass, "");
......@@ -876,6 +892,8 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
876892 case clang::Decl::Import:
877893 case clang::Decl::LifetimeExtendedTemporary:
878894 case clang::Decl::LinkageSpec:
895 case clang::Decl::Using:
896 case clang::Decl::UsingEnum:
879897 case clang::Decl::Label:
880898 case clang::Decl::Namespace:
881899 case clang::Decl::NamespaceAlias:
......@@ -904,7 +922,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
904922 case clang::Decl::TypeAlias:
905923 case clang::Decl::Typedef:
906924 case clang::Decl::UnresolvedUsingTypename:
907 case clang::Decl::Using:
925 case clang::Decl::UnresolvedUsingIfExists:
908926 case clang::Decl::UsingDirective:
909927 case clang::Decl::UsingPack:
910928 case clang::Decl::UsingShadow:
......@@ -961,6 +979,8 @@ static_assert((clang::Decl::Kind)ZigClangDeclFriendTemplate == clang::Decl::Frie
961979static_assert((clang::Decl::Kind)ZigClangDeclImport == clang::Decl::Import, "");
962980static_assert((clang::Decl::Kind)ZigClangDeclLifetimeExtendedTemporary == clang::Decl::LifetimeExtendedTemporary, "");
963981static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
982static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
983static_assert((clang::Decl::Kind)ZigClangDeclUsingEnum == clang::Decl::UsingEnum, "");
964984static_assert((clang::Decl::Kind)ZigClangDeclLabel == clang::Decl::Label, "");
965985static_assert((clang::Decl::Kind)ZigClangDeclNamespace == clang::Decl::Namespace, "");
966986static_assert((clang::Decl::Kind)ZigClangDeclNamespaceAlias == clang::Decl::NamespaceAlias, "");
......@@ -989,8 +1009,8 @@ static_assert((clang::Decl::Kind)ZigClangDeclObjCTypeParam == clang::Decl::ObjCT
9891009static_assert((clang::Decl::Kind)ZigClangDeclTypeAlias == clang::Decl::TypeAlias, "");
9901010static_assert((clang::Decl::Kind)ZigClangDeclTypedef == clang::Decl::Typedef, "");
9911011static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingTypename == clang::Decl::UnresolvedUsingTypename, "");
1012static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingIfExists == clang::Decl::UnresolvedUsingIfExists, "");
9921013static_assert((clang::Decl::Kind)ZigClangDeclOMPAllocate == clang::Decl::OMPAllocate, "");
993static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
9941014static_assert((clang::Decl::Kind)ZigClangDeclUsingDirective == clang::Decl::UsingDirective, "");
9951015static_assert((clang::Decl::Kind)ZigClangDeclUsingPack == clang::Decl::UsingPack, "");
9961016static_assert((clang::Decl::Kind)ZigClangDeclUsingShadow == clang::Decl::UsingShadow, "");
......@@ -1032,177 +1052,243 @@ static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::Tra
10321052
10331053void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
10341054 switch (x) {
1035 case clang::BuiltinType::OCLImage1dRO:
1036 case clang::BuiltinType::OCLImage1dArrayRO:
1037 case clang::BuiltinType::OCLImage1dBufferRO:
1038 case clang::BuiltinType::OCLImage2dRO:
1039 case clang::BuiltinType::OCLImage2dArrayRO:
1040 case clang::BuiltinType::OCLImage2dDepthRO:
1041 case clang::BuiltinType::OCLImage2dArrayDepthRO:
1042 case clang::BuiltinType::OCLImage2dMSAARO:
1043 case clang::BuiltinType::OCLImage2dArrayMSAARO:
1044 case clang::BuiltinType::OCLImage2dMSAADepthRO:
1045 case clang::BuiltinType::OCLImage2dArrayMSAADepthRO:
1046 case clang::BuiltinType::OCLImage3dRO:
1047 case clang::BuiltinType::OCLImage1dWO:
1048 case clang::BuiltinType::OCLImage1dArrayWO:
1049 case clang::BuiltinType::OCLImage1dBufferWO:
1050 case clang::BuiltinType::OCLImage2dWO:
1051 case clang::BuiltinType::OCLImage2dArrayWO:
1052 case clang::BuiltinType::OCLImage2dDepthWO:
1053 case clang::BuiltinType::OCLImage2dArrayDepthWO:
1054 case clang::BuiltinType::OCLImage2dMSAAWO:
1055 case clang::BuiltinType::OCLImage2dArrayMSAAWO:
1056 case clang::BuiltinType::OCLImage2dMSAADepthWO:
1057 case clang::BuiltinType::OCLImage2dArrayMSAADepthWO:
1058 case clang::BuiltinType::OCLImage3dWO:
1059 case clang::BuiltinType::OCLImage1dRW:
1060 case clang::BuiltinType::OCLImage1dArrayRW:
1061 case clang::BuiltinType::OCLImage1dBufferRW:
1062 case clang::BuiltinType::OCLImage2dRW:
1063 case clang::BuiltinType::OCLImage2dArrayRW:
1064 case clang::BuiltinType::OCLImage2dDepthRW:
1065 case clang::BuiltinType::OCLImage2dArrayDepthRW:
1066 case clang::BuiltinType::OCLImage2dMSAARW:
1067 case clang::BuiltinType::OCLImage2dArrayMSAARW:
1068 case clang::BuiltinType::OCLImage2dMSAADepthRW:
1069 case clang::BuiltinType::OCLImage2dArrayMSAADepthRW:
1070 case clang::BuiltinType::OCLImage3dRW:
1071 case clang::BuiltinType::OCLIntelSubgroupAVCMcePayload:
1072 case clang::BuiltinType::OCLIntelSubgroupAVCImePayload:
1073 case clang::BuiltinType::OCLIntelSubgroupAVCRefPayload:
1074 case clang::BuiltinType::OCLIntelSubgroupAVCSicPayload:
1075 case clang::BuiltinType::OCLIntelSubgroupAVCMceResult:
1076 case clang::BuiltinType::OCLIntelSubgroupAVCImeResult:
1077 case clang::BuiltinType::OCLIntelSubgroupAVCRefResult:
1078 case clang::BuiltinType::OCLIntelSubgroupAVCSicResult:
1079 case clang::BuiltinType::OCLIntelSubgroupAVCImeResultSingleRefStreamout:
1080 case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout:
1081 case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin:
1082 case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin:
1083 case clang::BuiltinType::SveInt8:
1084 case clang::BuiltinType::SveInt16:
1085 case clang::BuiltinType::SveInt32:
1086 case clang::BuiltinType::SveInt64:
1087 case clang::BuiltinType::SveUint8:
1088 case clang::BuiltinType::SveUint16:
1089 case clang::BuiltinType::SveUint32:
1090 case clang::BuiltinType::SveUint64:
1091 case clang::BuiltinType::SveFloat16:
1092 case clang::BuiltinType::SveFloat32:
1093 case clang::BuiltinType::SveFloat64:
1094 case clang::BuiltinType::SveBFloat16:
1095 case clang::BuiltinType::SveInt8x2:
1096 case clang::BuiltinType::SveInt16x2:
1097 case clang::BuiltinType::SveInt32x2:
1098 case clang::BuiltinType::SveInt64x2:
1099 case clang::BuiltinType::SveUint8x2:
1100 case clang::BuiltinType::SveUint16x2:
1101 case clang::BuiltinType::SveUint32x2:
1102 case clang::BuiltinType::SveUint64x2:
1103 case clang::BuiltinType::SveFloat16x2:
1104 case clang::BuiltinType::SveFloat32x2:
1105 case clang::BuiltinType::SveFloat64x2:
1106 case clang::BuiltinType::SveBFloat16x2:
1107 case clang::BuiltinType::SveInt8x3:
1108 case clang::BuiltinType::SveInt16x3:
1109 case clang::BuiltinType::SveInt32x3:
1110 case clang::BuiltinType::SveInt64x3:
1111 case clang::BuiltinType::SveUint8x3:
1112 case clang::BuiltinType::SveUint16x3:
1113 case clang::BuiltinType::SveUint32x3:
1114 case clang::BuiltinType::SveUint64x3:
1115 case clang::BuiltinType::SveFloat16x3:
1116 case clang::BuiltinType::SveFloat32x3:
1117 case clang::BuiltinType::SveFloat64x3:
1118 case clang::BuiltinType::SveBFloat16x3:
1119 case clang::BuiltinType::SveInt8x4:
1120 case clang::BuiltinType::SveInt16x4:
1121 case clang::BuiltinType::SveInt32x4:
1122 case clang::BuiltinType::SveInt64x4:
1123 case clang::BuiltinType::SveUint8x4:
1124 case clang::BuiltinType::SveUint16x4:
1125 case clang::BuiltinType::SveUint32x4:
1126 case clang::BuiltinType::SveUint64x4:
1127 case clang::BuiltinType::SveFloat16x4:
1128 case clang::BuiltinType::SveFloat32x4:
1129 case clang::BuiltinType::SveFloat64x4:
1130 case clang::BuiltinType::SveBFloat16x4:
1131 case clang::BuiltinType::SveBool:
1132 case clang::BuiltinType::VectorQuad:
1133 case clang::BuiltinType::VectorPair:
1134 case clang::BuiltinType::Void:
1135 case clang::BuiltinType::Bool:
1136 case clang::BuiltinType::Char_U:
1137 case clang::BuiltinType::UChar:
1138 case clang::BuiltinType::WChar_U:
1139 case clang::BuiltinType::Char8:
1140 case clang::BuiltinType::Char16:
1141 case clang::BuiltinType::Char32:
1142 case clang::BuiltinType::UShort:
1143 case clang::BuiltinType::UInt:
1144 case clang::BuiltinType::ULong:
1145 case clang::BuiltinType::ULongLong:
1146 case clang::BuiltinType::UInt128:
1147 case clang::BuiltinType::Char_S:
1148 case clang::BuiltinType::SChar:
1149 case clang::BuiltinType::WChar_S:
1150 case clang::BuiltinType::Short:
1151 case clang::BuiltinType::Int:
1152 case clang::BuiltinType::Long:
1153 case clang::BuiltinType::LongLong:
1154 case clang::BuiltinType::Int128:
1155 case clang::BuiltinType::ShortAccum:
1156 case clang::BuiltinType::Accum:
1157 case clang::BuiltinType::LongAccum:
1158 case clang::BuiltinType::UShortAccum:
1159 case clang::BuiltinType::UAccum:
1160 case clang::BuiltinType::ULongAccum:
1161 case clang::BuiltinType::ShortFract:
1162 case clang::BuiltinType::Fract:
1163 case clang::BuiltinType::LongFract:
1164 case clang::BuiltinType::UShortFract:
1165 case clang::BuiltinType::UFract:
1166 case clang::BuiltinType::ULongFract:
1167 case clang::BuiltinType::SatShortAccum:
1168 case clang::BuiltinType::SatAccum:
1169 case clang::BuiltinType::SatLongAccum:
1170 case clang::BuiltinType::SatUShortAccum:
1171 case clang::BuiltinType::SatUAccum:
1172 case clang::BuiltinType::SatULongAccum:
1173 case clang::BuiltinType::SatShortFract:
1174 case clang::BuiltinType::SatFract:
1175 case clang::BuiltinType::SatLongFract:
1176 case clang::BuiltinType::SatUShortFract:
1177 case clang::BuiltinType::SatUFract:
1178 case clang::BuiltinType::SatULongFract:
1179 case clang::BuiltinType::Half:
1180 case clang::BuiltinType::Float:
1181 case clang::BuiltinType::Double:
1182 case clang::BuiltinType::LongDouble:
1183 case clang::BuiltinType::Float16:
1184 case clang::BuiltinType::BFloat16:
1185 case clang::BuiltinType::Float128:
1186 case clang::BuiltinType::NullPtr:
1187 case clang::BuiltinType::ObjCId:
1188 case clang::BuiltinType::ObjCClass:
1189 case clang::BuiltinType::ObjCSel:
1190 case clang::BuiltinType::OCLSampler:
1191 case clang::BuiltinType::OCLEvent:
1192 case clang::BuiltinType::OCLClkEvent:
1193 case clang::BuiltinType::OCLQueue:
1194 case clang::BuiltinType::OCLReserveID:
1195 case clang::BuiltinType::Dependent:
1196 case clang::BuiltinType::Overload:
1197 case clang::BuiltinType::BoundMember:
1198 case clang::BuiltinType::PseudoObject:
1199 case clang::BuiltinType::UnknownAny:
1200 case clang::BuiltinType::BuiltinFn:
1201 case clang::BuiltinType::ARCUnbridgedCast:
1202 case clang::BuiltinType::IncompleteMatrixIdx:
1203 case clang::BuiltinType::OMPArraySection:
1204 case clang::BuiltinType::OMPArrayShaping:
1205 case clang::BuiltinType::OMPIterator:
1055 case ZigClangBuiltinTypeOCLImage1dRO:
1056 case ZigClangBuiltinTypeOCLImage1dArrayRO:
1057 case ZigClangBuiltinTypeOCLImage1dBufferRO:
1058 case ZigClangBuiltinTypeOCLImage2dRO:
1059 case ZigClangBuiltinTypeOCLImage2dArrayRO:
1060 case ZigClangBuiltinTypeOCLImage2dDepthRO:
1061 case ZigClangBuiltinTypeOCLImage2dArrayDepthRO:
1062 case ZigClangBuiltinTypeOCLImage2dMSAARO:
1063 case ZigClangBuiltinTypeOCLImage2dArrayMSAARO:
1064 case ZigClangBuiltinTypeOCLImage2dMSAADepthRO:
1065 case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRO:
1066 case ZigClangBuiltinTypeOCLImage3dRO:
1067 case ZigClangBuiltinTypeOCLImage1dWO:
1068 case ZigClangBuiltinTypeOCLImage1dArrayWO:
1069 case ZigClangBuiltinTypeOCLImage1dBufferWO:
1070 case ZigClangBuiltinTypeOCLImage2dWO:
1071 case ZigClangBuiltinTypeOCLImage2dArrayWO:
1072 case ZigClangBuiltinTypeOCLImage2dDepthWO:
1073 case ZigClangBuiltinTypeOCLImage2dArrayDepthWO:
1074 case ZigClangBuiltinTypeOCLImage2dMSAAWO:
1075 case ZigClangBuiltinTypeOCLImage2dArrayMSAAWO:
1076 case ZigClangBuiltinTypeOCLImage2dMSAADepthWO:
1077 case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthWO:
1078 case ZigClangBuiltinTypeOCLImage3dWO:
1079 case ZigClangBuiltinTypeOCLImage1dRW:
1080 case ZigClangBuiltinTypeOCLImage1dArrayRW:
1081 case ZigClangBuiltinTypeOCLImage1dBufferRW:
1082 case ZigClangBuiltinTypeOCLImage2dRW:
1083 case ZigClangBuiltinTypeOCLImage2dArrayRW:
1084 case ZigClangBuiltinTypeOCLImage2dDepthRW:
1085 case ZigClangBuiltinTypeOCLImage2dArrayDepthRW:
1086 case ZigClangBuiltinTypeOCLImage2dMSAARW:
1087 case ZigClangBuiltinTypeOCLImage2dArrayMSAARW:
1088 case ZigClangBuiltinTypeOCLImage2dMSAADepthRW:
1089 case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRW:
1090 case ZigClangBuiltinTypeOCLImage3dRW:
1091 case ZigClangBuiltinTypeOCLIntelSubgroupAVCMcePayload:
1092 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImePayload:
1093 case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefPayload:
1094 case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicPayload:
1095 case ZigClangBuiltinTypeOCLIntelSubgroupAVCMceResult:
1096 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResult:
1097 case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefResult:
1098 case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicResult:
1099 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultSingleRefStreamout:
1100 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout:
1101 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin:
1102 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin:
1103 case ZigClangBuiltinTypeSveInt8:
1104 case ZigClangBuiltinTypeSveInt16:
1105 case ZigClangBuiltinTypeSveInt32:
1106 case ZigClangBuiltinTypeSveInt64:
1107 case ZigClangBuiltinTypeSveUint8:
1108 case ZigClangBuiltinTypeSveUint16:
1109 case ZigClangBuiltinTypeSveUint32:
1110 case ZigClangBuiltinTypeSveUint64:
1111 case ZigClangBuiltinTypeSveFloat16:
1112 case ZigClangBuiltinTypeSveFloat32:
1113 case ZigClangBuiltinTypeSveFloat64:
1114 case ZigClangBuiltinTypeSveBFloat16:
1115 case ZigClangBuiltinTypeSveInt8x2:
1116 case ZigClangBuiltinTypeSveInt16x2:
1117 case ZigClangBuiltinTypeSveInt32x2:
1118 case ZigClangBuiltinTypeSveInt64x2:
1119 case ZigClangBuiltinTypeSveUint8x2:
1120 case ZigClangBuiltinTypeSveUint16x2:
1121 case ZigClangBuiltinTypeSveUint32x2:
1122 case ZigClangBuiltinTypeSveUint64x2:
1123 case ZigClangBuiltinTypeSveFloat16x2:
1124 case ZigClangBuiltinTypeSveFloat32x2:
1125 case ZigClangBuiltinTypeSveFloat64x2:
1126 case ZigClangBuiltinTypeSveBFloat16x2:
1127 case ZigClangBuiltinTypeSveInt8x3:
1128 case ZigClangBuiltinTypeSveInt16x3:
1129 case ZigClangBuiltinTypeSveInt32x3:
1130 case ZigClangBuiltinTypeSveInt64x3:
1131 case ZigClangBuiltinTypeSveUint8x3:
1132 case ZigClangBuiltinTypeSveUint16x3:
1133 case ZigClangBuiltinTypeSveUint32x3:
1134 case ZigClangBuiltinTypeSveUint64x3:
1135 case ZigClangBuiltinTypeSveFloat16x3:
1136 case ZigClangBuiltinTypeSveFloat32x3:
1137 case ZigClangBuiltinTypeSveFloat64x3:
1138 case ZigClangBuiltinTypeSveBFloat16x3:
1139 case ZigClangBuiltinTypeSveInt8x4:
1140 case ZigClangBuiltinTypeSveInt16x4:
1141 case ZigClangBuiltinTypeSveInt32x4:
1142 case ZigClangBuiltinTypeSveInt64x4:
1143 case ZigClangBuiltinTypeSveUint8x4:
1144 case ZigClangBuiltinTypeSveUint16x4:
1145 case ZigClangBuiltinTypeSveUint32x4:
1146 case ZigClangBuiltinTypeSveUint64x4:
1147 case ZigClangBuiltinTypeSveFloat16x4:
1148 case ZigClangBuiltinTypeSveFloat32x4:
1149 case ZigClangBuiltinTypeSveFloat64x4:
1150 case ZigClangBuiltinTypeSveBFloat16x4:
1151 case ZigClangBuiltinTypeSveBool:
1152 case ZigClangBuiltinTypeVectorQuad:
1153 case ZigClangBuiltinTypeVectorPair:
1154 case ZigClangBuiltinTypeRvvInt8mf8:
1155 case ZigClangBuiltinTypeRvvInt8mf4:
1156 case ZigClangBuiltinTypeRvvInt8mf2:
1157 case ZigClangBuiltinTypeRvvInt8m1:
1158 case ZigClangBuiltinTypeRvvInt8m2:
1159 case ZigClangBuiltinTypeRvvInt8m4:
1160 case ZigClangBuiltinTypeRvvInt8m8:
1161 case ZigClangBuiltinTypeRvvUint8mf8:
1162 case ZigClangBuiltinTypeRvvUint8mf4:
1163 case ZigClangBuiltinTypeRvvUint8mf2:
1164 case ZigClangBuiltinTypeRvvUint8m1:
1165 case ZigClangBuiltinTypeRvvUint8m2:
1166 case ZigClangBuiltinTypeRvvUint8m4:
1167 case ZigClangBuiltinTypeRvvUint8m8:
1168 case ZigClangBuiltinTypeRvvInt16mf4:
1169 case ZigClangBuiltinTypeRvvInt16mf2:
1170 case ZigClangBuiltinTypeRvvInt16m1:
1171 case ZigClangBuiltinTypeRvvInt16m2:
1172 case ZigClangBuiltinTypeRvvInt16m4:
1173 case ZigClangBuiltinTypeRvvInt16m8:
1174 case ZigClangBuiltinTypeRvvUint16mf4:
1175 case ZigClangBuiltinTypeRvvUint16mf2:
1176 case ZigClangBuiltinTypeRvvUint16m1:
1177 case ZigClangBuiltinTypeRvvUint16m2:
1178 case ZigClangBuiltinTypeRvvUint16m4:
1179 case ZigClangBuiltinTypeRvvUint16m8:
1180 case ZigClangBuiltinTypeRvvInt32mf2:
1181 case ZigClangBuiltinTypeRvvInt32m1:
1182 case ZigClangBuiltinTypeRvvInt32m2:
1183 case ZigClangBuiltinTypeRvvInt32m4:
1184 case ZigClangBuiltinTypeRvvInt32m8:
1185 case ZigClangBuiltinTypeRvvUint32mf2:
1186 case ZigClangBuiltinTypeRvvUint32m1:
1187 case ZigClangBuiltinTypeRvvUint32m2:
1188 case ZigClangBuiltinTypeRvvUint32m4:
1189 case ZigClangBuiltinTypeRvvUint32m8:
1190 case ZigClangBuiltinTypeRvvInt64m1:
1191 case ZigClangBuiltinTypeRvvInt64m2:
1192 case ZigClangBuiltinTypeRvvInt64m4:
1193 case ZigClangBuiltinTypeRvvInt64m8:
1194 case ZigClangBuiltinTypeRvvUint64m1:
1195 case ZigClangBuiltinTypeRvvUint64m2:
1196 case ZigClangBuiltinTypeRvvUint64m4:
1197 case ZigClangBuiltinTypeRvvUint64m8:
1198 case ZigClangBuiltinTypeRvvFloat16mf4:
1199 case ZigClangBuiltinTypeRvvFloat16mf2:
1200 case ZigClangBuiltinTypeRvvFloat16m1:
1201 case ZigClangBuiltinTypeRvvFloat16m2:
1202 case ZigClangBuiltinTypeRvvFloat16m4:
1203 case ZigClangBuiltinTypeRvvFloat16m8:
1204 case ZigClangBuiltinTypeRvvFloat32mf2:
1205 case ZigClangBuiltinTypeRvvFloat32m1:
1206 case ZigClangBuiltinTypeRvvFloat32m2:
1207 case ZigClangBuiltinTypeRvvFloat32m4:
1208 case ZigClangBuiltinTypeRvvFloat32m8:
1209 case ZigClangBuiltinTypeRvvFloat64m1:
1210 case ZigClangBuiltinTypeRvvFloat64m2:
1211 case ZigClangBuiltinTypeRvvFloat64m4:
1212 case ZigClangBuiltinTypeRvvFloat64m8:
1213 case ZigClangBuiltinTypeRvvBool1:
1214 case ZigClangBuiltinTypeRvvBool2:
1215 case ZigClangBuiltinTypeRvvBool4:
1216 case ZigClangBuiltinTypeRvvBool8:
1217 case ZigClangBuiltinTypeRvvBool16:
1218 case ZigClangBuiltinTypeRvvBool32:
1219 case ZigClangBuiltinTypeRvvBool64:
1220 case ZigClangBuiltinTypeVoid:
1221 case ZigClangBuiltinTypeBool:
1222 case ZigClangBuiltinTypeChar_U:
1223 case ZigClangBuiltinTypeUChar:
1224 case ZigClangBuiltinTypeWChar_U:
1225 case ZigClangBuiltinTypeChar8:
1226 case ZigClangBuiltinTypeChar16:
1227 case ZigClangBuiltinTypeChar32:
1228 case ZigClangBuiltinTypeUShort:
1229 case ZigClangBuiltinTypeUInt:
1230 case ZigClangBuiltinTypeULong:
1231 case ZigClangBuiltinTypeULongLong:
1232 case ZigClangBuiltinTypeUInt128:
1233 case ZigClangBuiltinTypeChar_S:
1234 case ZigClangBuiltinTypeSChar:
1235 case ZigClangBuiltinTypeWChar_S:
1236 case ZigClangBuiltinTypeShort:
1237 case ZigClangBuiltinTypeInt:
1238 case ZigClangBuiltinTypeLong:
1239 case ZigClangBuiltinTypeLongLong:
1240 case ZigClangBuiltinTypeInt128:
1241 case ZigClangBuiltinTypeShortAccum:
1242 case ZigClangBuiltinTypeAccum:
1243 case ZigClangBuiltinTypeLongAccum:
1244 case ZigClangBuiltinTypeUShortAccum:
1245 case ZigClangBuiltinTypeUAccum:
1246 case ZigClangBuiltinTypeULongAccum:
1247 case ZigClangBuiltinTypeShortFract:
1248 case ZigClangBuiltinTypeFract:
1249 case ZigClangBuiltinTypeLongFract:
1250 case ZigClangBuiltinTypeUShortFract:
1251 case ZigClangBuiltinTypeUFract:
1252 case ZigClangBuiltinTypeULongFract:
1253 case ZigClangBuiltinTypeSatShortAccum:
1254 case ZigClangBuiltinTypeSatAccum:
1255 case ZigClangBuiltinTypeSatLongAccum:
1256 case ZigClangBuiltinTypeSatUShortAccum:
1257 case ZigClangBuiltinTypeSatUAccum:
1258 case ZigClangBuiltinTypeSatULongAccum:
1259 case ZigClangBuiltinTypeSatShortFract:
1260 case ZigClangBuiltinTypeSatFract:
1261 case ZigClangBuiltinTypeSatLongFract:
1262 case ZigClangBuiltinTypeSatUShortFract:
1263 case ZigClangBuiltinTypeSatUFract:
1264 case ZigClangBuiltinTypeSatULongFract:
1265 case ZigClangBuiltinTypeHalf:
1266 case ZigClangBuiltinTypeFloat:
1267 case ZigClangBuiltinTypeDouble:
1268 case ZigClangBuiltinTypeLongDouble:
1269 case ZigClangBuiltinTypeFloat16:
1270 case ZigClangBuiltinTypeBFloat16:
1271 case ZigClangBuiltinTypeFloat128:
1272 case ZigClangBuiltinTypeNullPtr:
1273 case ZigClangBuiltinTypeObjCId:
1274 case ZigClangBuiltinTypeObjCClass:
1275 case ZigClangBuiltinTypeObjCSel:
1276 case ZigClangBuiltinTypeOCLSampler:
1277 case ZigClangBuiltinTypeOCLEvent:
1278 case ZigClangBuiltinTypeOCLClkEvent:
1279 case ZigClangBuiltinTypeOCLQueue:
1280 case ZigClangBuiltinTypeOCLReserveID:
1281 case ZigClangBuiltinTypeDependent:
1282 case ZigClangBuiltinTypeOverload:
1283 case ZigClangBuiltinTypeBoundMember:
1284 case ZigClangBuiltinTypePseudoObject:
1285 case ZigClangBuiltinTypeUnknownAny:
1286 case ZigClangBuiltinTypeBuiltinFn:
1287 case ZigClangBuiltinTypeARCUnbridgedCast:
1288 case ZigClangBuiltinTypeIncompleteMatrixIdx:
1289 case ZigClangBuiltinTypeOMPArraySection:
1290 case ZigClangBuiltinTypeOMPArrayShaping:
1291 case ZigClangBuiltinTypeOMPIterator:
12061292 break;
12071293 }
12081294}
......@@ -1306,6 +1392,72 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clan
13061392static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
13071393static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorQuad == clang::BuiltinType::VectorQuad, "");
13081394static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorPair == clang::BuiltinType::VectorPair, "");
1395static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf8 == clang::BuiltinType::RvvInt8mf8, "");
1396static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf4 == clang::BuiltinType::RvvInt8mf4, "");
1397static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf2 == clang::BuiltinType::RvvInt8mf2, "");
1398static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m1 == clang::BuiltinType::RvvInt8m1, "");
1399static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m2 == clang::BuiltinType::RvvInt8m2, "");
1400static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m4 == clang::BuiltinType::RvvInt8m4, "");
1401static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m8 == clang::BuiltinType::RvvInt8m8, "");
1402static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8mf8 == clang::BuiltinType::RvvUint8mf8, "");
1403static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8mf4 == clang::BuiltinType::RvvUint8mf4, "");
1404static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8mf2 == clang::BuiltinType::RvvUint8mf2, "");
1405static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m1 == clang::BuiltinType::RvvUint8m1, "");
1406static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m2 == clang::BuiltinType::RvvUint8m2, "");
1407static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m4 == clang::BuiltinType::RvvUint8m4, "");
1408static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m8 == clang::BuiltinType::RvvUint8m8, "");
1409static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16mf4 == clang::BuiltinType::RvvInt16mf4, "");
1410static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16mf2 == clang::BuiltinType::RvvInt16mf2, "");
1411static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m1 == clang::BuiltinType::RvvInt16m1, "");
1412static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m2 == clang::BuiltinType::RvvInt16m2, "");
1413static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m4 == clang::BuiltinType::RvvInt16m4, "");
1414static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m8 == clang::BuiltinType::RvvInt16m8, "");
1415static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16mf4 == clang::BuiltinType::RvvUint16mf4, "");
1416static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16mf2 == clang::BuiltinType::RvvUint16mf2, "");
1417static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m1 == clang::BuiltinType::RvvUint16m1, "");
1418static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m2 == clang::BuiltinType::RvvUint16m2, "");
1419static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m4 == clang::BuiltinType::RvvUint16m4, "");
1420static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m8 == clang::BuiltinType::RvvUint16m8, "");
1421static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32mf2 == clang::BuiltinType::RvvInt32mf2, "");
1422static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m1 == clang::BuiltinType::RvvInt32m1, "");
1423static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m2 == clang::BuiltinType::RvvInt32m2, "");
1424static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m4 == clang::BuiltinType::RvvInt32m4, "");
1425static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m8 == clang::BuiltinType::RvvInt32m8, "");
1426static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32mf2 == clang::BuiltinType::RvvUint32mf2, "");
1427static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m1 == clang::BuiltinType::RvvUint32m1, "");
1428static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m2 == clang::BuiltinType::RvvUint32m2, "");
1429static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m4 == clang::BuiltinType::RvvUint32m4, "");
1430static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m8 == clang::BuiltinType::RvvUint32m8, "");
1431static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m1 == clang::BuiltinType::RvvInt64m1, "");
1432static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m2 == clang::BuiltinType::RvvInt64m2, "");
1433static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m4 == clang::BuiltinType::RvvInt64m4, "");
1434static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m8 == clang::BuiltinType::RvvInt64m8, "");
1435static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m1 == clang::BuiltinType::RvvUint64m1, "");
1436static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m2 == clang::BuiltinType::RvvUint64m2, "");
1437static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m4 == clang::BuiltinType::RvvUint64m4, "");
1438static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m8 == clang::BuiltinType::RvvUint64m8, "");
1439static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16mf4 == clang::BuiltinType::RvvFloat16mf4, "");
1440static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16mf2 == clang::BuiltinType::RvvFloat16mf2, "");
1441static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m1 == clang::BuiltinType::RvvFloat16m1, "");
1442static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m2 == clang::BuiltinType::RvvFloat16m2, "");
1443static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m4 == clang::BuiltinType::RvvFloat16m4, "");
1444static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m8 == clang::BuiltinType::RvvFloat16m8, "");
1445static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32mf2 == clang::BuiltinType::RvvFloat32mf2, "");
1446static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m1 == clang::BuiltinType::RvvFloat32m1, "");
1447static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m2 == clang::BuiltinType::RvvFloat32m2, "");
1448static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m4 == clang::BuiltinType::RvvFloat32m4, "");
1449static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m8 == clang::BuiltinType::RvvFloat32m8, "");
1450static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m1 == clang::BuiltinType::RvvFloat64m1, "");
1451static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m2 == clang::BuiltinType::RvvFloat64m2, "");
1452static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m4 == clang::BuiltinType::RvvFloat64m4, "");
1453static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m8 == clang::BuiltinType::RvvFloat64m8, "");
1454static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool1 == clang::BuiltinType::RvvBool1, "");
1455static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool2 == clang::BuiltinType::RvvBool2, "");
1456static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool4 == clang::BuiltinType::RvvBool4, "");
1457static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool8 == clang::BuiltinType::RvvBool8, "");
1458static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool16 == clang::BuiltinType::RvvBool16, "");
1459static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool32 == clang::BuiltinType::RvvBool32, "");
1460static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool64 == clang::BuiltinType::RvvBool64, "");
13091461static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
13101462static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
13111463static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
......@@ -1396,6 +1548,7 @@ void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {
13961548 case clang::CC_SpirFunction:
13971549 case clang::CC_OpenCLKernel:
13981550 case clang::CC_Swift:
1551 case clang::CC_SwiftAsync:
13991552 case clang::CC_PreserveMost:
14001553 case clang::CC_PreserveAll:
14011554 case clang::CC_AArch64VectorCall:
......@@ -1418,6 +1571,7 @@ static_assert((clang::CallingConv)ZigClangCallingConv_IntelOclBicc == clang::CC_
14181571static_assert((clang::CallingConv)ZigClangCallingConv_SpirFunction == clang::CC_SpirFunction, "");
14191572static_assert((clang::CallingConv)ZigClangCallingConv_OpenCLKernel == clang::CC_OpenCLKernel, "");
14201573static_assert((clang::CallingConv)ZigClangCallingConv_Swift == clang::CC_Swift, "");
1574static_assert((clang::CallingConv)ZigClangCallingConv_SwiftAsync == clang::CC_SwiftAsync, "");
14211575static_assert((clang::CallingConv)ZigClangCallingConv_PreserveMost == clang::CC_PreserveMost, "");
14221576static_assert((clang::CallingConv)ZigClangCallingConv_PreserveAll == clang::CC_PreserveAll, "");
14231577static_assert((clang::CallingConv)ZigClangCallingConv_AArch64VectorCall == clang::CC_AArch64VectorCall, "");
src/zig_clang.h+78-1
......@@ -318,13 +318,16 @@ enum ZigClangStmtClass {
318318 ZigClangStmt_IndirectGotoStmtClass,
319319 ZigClangStmt_MSDependentExistsStmtClass,
320320 ZigClangStmt_NullStmtClass,
321 ZigClangStmt_OMPCanonicalLoopClass,
321322 ZigClangStmt_OMPAtomicDirectiveClass,
322323 ZigClangStmt_OMPBarrierDirectiveClass,
323324 ZigClangStmt_OMPCancelDirectiveClass,
324325 ZigClangStmt_OMPCancellationPointDirectiveClass,
325326 ZigClangStmt_OMPCriticalDirectiveClass,
326327 ZigClangStmt_OMPDepobjDirectiveClass,
328 ZigClangStmt_OMPDispatchDirectiveClass,
327329 ZigClangStmt_OMPFlushDirectiveClass,
330 ZigClangStmt_OMPInteropDirectiveClass,
328331 ZigClangStmt_OMPDistributeDirectiveClass,
329332 ZigClangStmt_OMPDistributeParallelForDirectiveClass,
330333 ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass,
......@@ -350,6 +353,9 @@ enum ZigClangStmtClass {
350353 ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass,
351354 ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,
352355 ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,
356 ZigClangStmt_OMPTileDirectiveClass,
357 ZigClangStmt_OMPUnrollDirectiveClass,
358 ZigClangStmt_OMPMaskedDirectiveClass,
353359 ZigClangStmt_OMPMasterDirectiveClass,
354360 ZigClangStmt_OMPOrderedDirectiveClass,
355361 ZigClangStmt_OMPParallelDirectiveClass,
......@@ -498,6 +504,7 @@ enum ZigClangStmtClass {
498504 ZigClangStmt_PseudoObjectExprClass,
499505 ZigClangStmt_RecoveryExprClass,
500506 ZigClangStmt_RequiresExprClass,
507 ZigClangStmt_SYCLUniqueStableNameExprClass,
501508 ZigClangStmt_ShuffleVectorExprClass,
502509 ZigClangStmt_SizeOfPackExprClass,
503510 ZigClangStmt_SourceLocExprClass,
......@@ -540,6 +547,7 @@ enum ZigClangCK {
540547 ZigClangCK_PointerToIntegral,
541548 ZigClangCK_PointerToBoolean,
542549 ZigClangCK_ToVoid,
550 ZigClangCK_MatrixCast,
543551 ZigClangCK_VectorSplat,
544552 ZigClangCK_IntegralCast,
545553 ZigClangCK_IntegralToBoolean,
......@@ -595,6 +603,8 @@ enum ZigClangDeclKind {
595603 ZigClangDeclImport,
596604 ZigClangDeclLifetimeExtendedTemporary,
597605 ZigClangDeclLinkageSpec,
606 ZigClangDeclUsing,
607 ZigClangDeclUsingEnum,
598608 ZigClangDeclLabel,
599609 ZigClangDeclNamespace,
600610 ZigClangDeclNamespaceAlias,
......@@ -623,7 +633,7 @@ enum ZigClangDeclKind {
623633 ZigClangDeclTypeAlias,
624634 ZigClangDeclTypedef,
625635 ZigClangDeclUnresolvedUsingTypename,
626 ZigClangDeclUsing,
636 ZigClangDeclUnresolvedUsingIfExists,
627637 ZigClangDeclUsingDirective,
628638 ZigClangDeclUsingPack,
629639 ZigClangDeclUsingShadow,
......@@ -765,6 +775,72 @@ enum ZigClangBuiltinTypeKind {
765775 ZigClangBuiltinTypeSveBool,
766776 ZigClangBuiltinTypeVectorQuad,
767777 ZigClangBuiltinTypeVectorPair,
778 ZigClangBuiltinTypeRvvInt8mf8,
779 ZigClangBuiltinTypeRvvInt8mf4,
780 ZigClangBuiltinTypeRvvInt8mf2,
781 ZigClangBuiltinTypeRvvInt8m1,
782 ZigClangBuiltinTypeRvvInt8m2,
783 ZigClangBuiltinTypeRvvInt8m4,
784 ZigClangBuiltinTypeRvvInt8m8,
785 ZigClangBuiltinTypeRvvUint8mf8,
786 ZigClangBuiltinTypeRvvUint8mf4,
787 ZigClangBuiltinTypeRvvUint8mf2,
788 ZigClangBuiltinTypeRvvUint8m1,
789 ZigClangBuiltinTypeRvvUint8m2,
790 ZigClangBuiltinTypeRvvUint8m4,
791 ZigClangBuiltinTypeRvvUint8m8,
792 ZigClangBuiltinTypeRvvInt16mf4,
793 ZigClangBuiltinTypeRvvInt16mf2,
794 ZigClangBuiltinTypeRvvInt16m1,
795 ZigClangBuiltinTypeRvvInt16m2,
796 ZigClangBuiltinTypeRvvInt16m4,
797 ZigClangBuiltinTypeRvvInt16m8,
798 ZigClangBuiltinTypeRvvUint16mf4,
799 ZigClangBuiltinTypeRvvUint16mf2,
800 ZigClangBuiltinTypeRvvUint16m1,
801 ZigClangBuiltinTypeRvvUint16m2,
802 ZigClangBuiltinTypeRvvUint16m4,
803 ZigClangBuiltinTypeRvvUint16m8,
804 ZigClangBuiltinTypeRvvInt32mf2,
805 ZigClangBuiltinTypeRvvInt32m1,
806 ZigClangBuiltinTypeRvvInt32m2,
807 ZigClangBuiltinTypeRvvInt32m4,
808 ZigClangBuiltinTypeRvvInt32m8,
809 ZigClangBuiltinTypeRvvUint32mf2,
810 ZigClangBuiltinTypeRvvUint32m1,
811 ZigClangBuiltinTypeRvvUint32m2,
812 ZigClangBuiltinTypeRvvUint32m4,
813 ZigClangBuiltinTypeRvvUint32m8,
814 ZigClangBuiltinTypeRvvInt64m1,
815 ZigClangBuiltinTypeRvvInt64m2,
816 ZigClangBuiltinTypeRvvInt64m4,
817 ZigClangBuiltinTypeRvvInt64m8,
818 ZigClangBuiltinTypeRvvUint64m1,
819 ZigClangBuiltinTypeRvvUint64m2,
820 ZigClangBuiltinTypeRvvUint64m4,
821 ZigClangBuiltinTypeRvvUint64m8,
822 ZigClangBuiltinTypeRvvFloat16mf4,
823 ZigClangBuiltinTypeRvvFloat16mf2,
824 ZigClangBuiltinTypeRvvFloat16m1,
825 ZigClangBuiltinTypeRvvFloat16m2,
826 ZigClangBuiltinTypeRvvFloat16m4,
827 ZigClangBuiltinTypeRvvFloat16m8,
828 ZigClangBuiltinTypeRvvFloat32mf2,
829 ZigClangBuiltinTypeRvvFloat32m1,
830 ZigClangBuiltinTypeRvvFloat32m2,
831 ZigClangBuiltinTypeRvvFloat32m4,
832 ZigClangBuiltinTypeRvvFloat32m8,
833 ZigClangBuiltinTypeRvvFloat64m1,
834 ZigClangBuiltinTypeRvvFloat64m2,
835 ZigClangBuiltinTypeRvvFloat64m4,
836 ZigClangBuiltinTypeRvvFloat64m8,
837 ZigClangBuiltinTypeRvvBool1,
838 ZigClangBuiltinTypeRvvBool2,
839 ZigClangBuiltinTypeRvvBool4,
840 ZigClangBuiltinTypeRvvBool8,
841 ZigClangBuiltinTypeRvvBool16,
842 ZigClangBuiltinTypeRvvBool32,
843 ZigClangBuiltinTypeRvvBool64,
768844 ZigClangBuiltinTypeVoid,
769845 ZigClangBuiltinTypeBool,
770846 ZigClangBuiltinTypeChar_U,
......@@ -855,6 +931,7 @@ enum ZigClangCallingConv {
855931 ZigClangCallingConv_SpirFunction, // default for OpenCL functions on SPIR target
856932 ZigClangCallingConv_OpenCLKernel, // inferred for OpenCL kernels
857933 ZigClangCallingConv_Swift, // __attribute__((swiftcall))
934 ZigClangCallingConv_SwiftAsync, // __attribute__((swiftasynccall))
858935 ZigClangCallingConv_PreserveMost, // __attribute__((preserve_most))
859936 ZigClangCallingConv_PreserveAll, // __attribute__((preserve_all))
860937 ZigClangCallingConv_AArch64VectorCall, // __attribute__((aarch64_vector_pcs))
src/zig_llvm.cpp+6-73
......@@ -155,10 +155,6 @@ LLVMTargetMachineRef ZigLLVMCreateTargetMachine(LLVMTargetRef T, const char *Tri
155155
156156 TargetOptions opt;
157157
158 // Work around the missing initialization of this field in the default
159 // constructor. Use -1 so that the default value is used.
160 opt.StackProtectorGuardOffset = (unsigned)-1;
161
162158 opt.FunctionSections = function_sections;
163159 switch (float_abi) {
164160 case ZigLLVMABITypeDefault:
......@@ -240,7 +236,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
240236
241237 if (asm_filename) {
242238 std::error_code EC;
243 dest_asm_ptr = new(std::nothrow) raw_fd_ostream(asm_filename, EC, sys::fs::F_None);
239 dest_asm_ptr = new(std::nothrow) raw_fd_ostream(asm_filename, EC, sys::fs::OF_None);
244240 if (EC) {
245241 *error_message = strdup((const char *)StringRef(EC.message()).bytes_begin());
246242 return true;
......@@ -248,7 +244,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
248244 }
249245 if (bin_filename) {
250246 std::error_code EC;
251 dest_bin_ptr = new(std::nothrow) raw_fd_ostream(bin_filename, EC, sys::fs::F_None);
247 dest_bin_ptr = new(std::nothrow) raw_fd_ostream(bin_filename, EC, sys::fs::OF_None);
252248 if (EC) {
253249 *error_message = strdup((const char *)StringRef(EC.message()).bytes_begin());
254250 return true;
......@@ -256,7 +252,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
256252 }
257253 if (bitcode_filename) {
258254 std::error_code EC;
259 dest_bitcode_ptr = new(std::nothrow) raw_fd_ostream(bitcode_filename, EC, sys::fs::F_None);
255 dest_bitcode_ptr = new(std::nothrow) raw_fd_ostream(bitcode_filename, EC, sys::fs::OF_None);
260256 if (EC) {
261257 *error_message = strdup((const char *)StringRef(EC.message()).bytes_begin());
262258 return true;
......@@ -292,7 +288,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
292288 StandardInstrumentations std_instrumentations(false);
293289 std_instrumentations.registerCallbacks(instr_callbacks);
294290
295 PassBuilder pass_builder(false, &target_machine, pipeline_opts,
291 PassBuilder pass_builder(&target_machine, pipeline_opts,
296292 None, &instr_callbacks);
297293 using OptimizationLevel = typename PassBuilder::OptimizationLevel;
298294
......@@ -1020,29 +1016,6 @@ void ZigLLVMSetModuleCodeModel(LLVMModuleRef module, LLVMCodeModel code_model) {
10201016 assert(!JIT);
10211017}
10221018
1023static AtomicOrdering mapFromLLVMOrdering(LLVMAtomicOrdering Ordering) {
1024 switch (Ordering) {
1025 case LLVMAtomicOrderingNotAtomic: return AtomicOrdering::NotAtomic;
1026 case LLVMAtomicOrderingUnordered: return AtomicOrdering::Unordered;
1027 case LLVMAtomicOrderingMonotonic: return AtomicOrdering::Monotonic;
1028 case LLVMAtomicOrderingAcquire: return AtomicOrdering::Acquire;
1029 case LLVMAtomicOrderingRelease: return AtomicOrdering::Release;
1030 case LLVMAtomicOrderingAcquireRelease: return AtomicOrdering::AcquireRelease;
1031 case LLVMAtomicOrderingSequentiallyConsistent: return AtomicOrdering::SequentiallyConsistent;
1032 }
1033 abort();
1034}
1035
1036LLVMValueRef ZigLLVMBuildCmpXchg(LLVMBuilderRef builder, LLVMValueRef ptr, LLVMValueRef cmp,
1037 LLVMValueRef new_val, LLVMAtomicOrdering success_ordering,
1038 LLVMAtomicOrdering failure_ordering, bool is_weak)
1039{
1040 AtomicCmpXchgInst *inst = unwrap(builder)->CreateAtomicCmpXchg(unwrap(ptr), unwrap(cmp),
1041 unwrap(new_val), mapFromLLVMOrdering(success_ordering), mapFromLLVMOrdering(failure_ordering));
1042 inst->setWeak(is_weak);
1043 return wrap(inst);
1044}
1045
10461019LLVMValueRef ZigLLVMBuildNSWShl(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS,
10471020 const char *name)
10481021{
......@@ -1237,38 +1210,6 @@ int ZigLLDLinkWasm(int argc, const char **argv, bool can_exit_early) {
12371210 return lld::wasm::link(args, can_exit_early, llvm::outs(), llvm::errs());
12381211}
12391212
1240static AtomicRMWInst::BinOp toLLVMRMWBinOp(enum ZigLLVM_AtomicRMWBinOp BinOp) {
1241 switch (BinOp) {
1242 default:
1243 case ZigLLVMAtomicRMWBinOpXchg: return AtomicRMWInst::Xchg;
1244 case ZigLLVMAtomicRMWBinOpAdd: return AtomicRMWInst::Add;
1245 case ZigLLVMAtomicRMWBinOpSub: return AtomicRMWInst::Sub;
1246 case ZigLLVMAtomicRMWBinOpAnd: return AtomicRMWInst::And;
1247 case ZigLLVMAtomicRMWBinOpNand: return AtomicRMWInst::Nand;
1248 case ZigLLVMAtomicRMWBinOpOr: return AtomicRMWInst::Or;
1249 case ZigLLVMAtomicRMWBinOpXor: return AtomicRMWInst::Xor;
1250 case ZigLLVMAtomicRMWBinOpMax: return AtomicRMWInst::Max;
1251 case ZigLLVMAtomicRMWBinOpMin: return AtomicRMWInst::Min;
1252 case ZigLLVMAtomicRMWBinOpUMax: return AtomicRMWInst::UMax;
1253 case ZigLLVMAtomicRMWBinOpUMin: return AtomicRMWInst::UMin;
1254 case ZigLLVMAtomicRMWBinOpFAdd: return AtomicRMWInst::FAdd;
1255 case ZigLLVMAtomicRMWBinOpFSub: return AtomicRMWInst::FSub;
1256 }
1257}
1258
1259static AtomicOrdering toLLVMOrdering(LLVMAtomicOrdering Ordering) {
1260 switch (Ordering) {
1261 default:
1262 case LLVMAtomicOrderingNotAtomic: return AtomicOrdering::NotAtomic;
1263 case LLVMAtomicOrderingUnordered: return AtomicOrdering::Unordered;
1264 case LLVMAtomicOrderingMonotonic: return AtomicOrdering::Monotonic;
1265 case LLVMAtomicOrderingAcquire: return AtomicOrdering::Acquire;
1266 case LLVMAtomicOrderingRelease: return AtomicOrdering::Release;
1267 case LLVMAtomicOrderingAcquireRelease: return AtomicOrdering::AcquireRelease;
1268 case LLVMAtomicOrderingSequentiallyConsistent: return AtomicOrdering::SequentiallyConsistent;
1269 }
1270}
1271
12721213inline LLVMAttributeRef wrap(Attribute Attr) {
12731214 return reinterpret_cast<LLVMAttributeRef>(Attr.getRawPointer());
12741215}
......@@ -1277,16 +1218,6 @@ inline Attribute unwrap(LLVMAttributeRef Attr) {
12771218 return Attribute::fromRawPointer(Attr);
12781219}
12791220
1280LLVMValueRef ZigLLVMBuildAtomicRMW(LLVMBuilderRef B, enum ZigLLVM_AtomicRMWBinOp op,
1281 LLVMValueRef PTR, LLVMValueRef Val,
1282 LLVMAtomicOrdering ordering, LLVMBool singleThread)
1283{
1284 AtomicRMWInst::BinOp intop = toLLVMRMWBinOp(op);
1285 return wrap(unwrap(B)->CreateAtomicRMW(intop, unwrap(PTR),
1286 unwrap(Val), toLLVMOrdering(ordering),
1287 singleThread ? SyncScope::SingleThread : SyncScope::System));
1288}
1289
12901221LLVMValueRef ZigLLVMBuildAndReduce(LLVMBuilderRef B, LLVMValueRef Val) {
12911222 return wrap(unwrap(B)->CreateAndReduce(unwrap(Val)));
12921223}
......@@ -1343,6 +1274,7 @@ static_assert((Triple::ArchType)ZigLLVM_bpfel == Triple::bpfel, "");
13431274static_assert((Triple::ArchType)ZigLLVM_bpfeb == Triple::bpfeb, "");
13441275static_assert((Triple::ArchType)ZigLLVM_csky == Triple::csky, "");
13451276static_assert((Triple::ArchType)ZigLLVM_hexagon == Triple::hexagon, "");
1277static_assert((Triple::ArchType)ZigLLVM_m68k == Triple::m68k, "");
13461278static_assert((Triple::ArchType)ZigLLVM_mips == Triple::mips, "");
13471279static_assert((Triple::ArchType)ZigLLVM_mipsel == Triple::mipsel, "");
13481280static_assert((Triple::ArchType)ZigLLVM_mips64 == Triple::mips64, "");
......@@ -1459,6 +1391,7 @@ static_assert((Triple::EnvironmentType)ZigLLVM_Android == Triple::Android, "");
14591391static_assert((Triple::EnvironmentType)ZigLLVM_Musl == Triple::Musl, "");
14601392static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABI == Triple::MuslEABI, "");
14611393static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABIHF == Triple::MuslEABIHF, "");
1394static_assert((Triple::EnvironmentType)ZigLLVM_MuslX32 == Triple::MuslX32, "");
14621395static_assert((Triple::EnvironmentType)ZigLLVM_MSVC == Triple::MSVC, "");
14631396static_assert((Triple::EnvironmentType)ZigLLVM_Itanium == Triple::Itanium, "");
14641397static_assert((Triple::EnvironmentType)ZigLLVM_Cygnus == Triple::Cygnus, "");
src/zig_llvm.h+2-26
......@@ -137,10 +137,6 @@ ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildUMin(LLVMBuilderRef builder, LLVMValueRef
137137ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildSMax(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS, const char* name);
138138ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildSMin(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS, const char* name);
139139
140ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildCmpXchg(LLVMBuilderRef builder, LLVMValueRef ptr, LLVMValueRef cmp,
141 LLVMValueRef new_val, LLVMAtomicOrdering success_ordering,
142 LLVMAtomicOrdering failure_ordering, bool is_weak);
143
144140ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildNSWShl(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS,
145141 const char *name);
146142ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildNUWShl(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS,
......@@ -303,6 +299,7 @@ enum ZigLLVM_ArchType {
303299 ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
304300 ZigLLVM_csky, // CSKY: csky
305301 ZigLLVM_hexagon, // Hexagon: hexagon
302 ZigLLVM_m68k, // M68k: Motorola 680x0 family
306303 ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6
307304 ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el
308305 ZigLLVM_mips64, // MIPS64: mips64, mips64r6, mipsn32, mipsn32r6
......@@ -345,7 +342,6 @@ enum ZigLLVM_ArchType {
345342 ZigLLVM_renderscript32, // 32-bit RenderScript
346343 ZigLLVM_renderscript64, // 64-bit RenderScript
347344 ZigLLVM_ve, // NEC SX-Aurora Vector Engine
348
349345 ZigLLVM_LastArchType = ZigLLVM_ve
350346};
351347
......@@ -430,6 +426,7 @@ enum ZigLLVM_EnvironmentType {
430426 ZigLLVM_Musl,
431427 ZigLLVM_MuslEABI,
432428 ZigLLVM_MuslEABIHF,
429 ZigLLVM_MuslX32,
433430
434431 ZigLLVM_MSVC,
435432 ZigLLVM_Itanium,
......@@ -437,7 +434,6 @@ enum ZigLLVM_EnvironmentType {
437434 ZigLLVM_CoreCLR,
438435 ZigLLVM_Simulator, // Simulator variants of other systems, e.g., Apple's iOS
439436 ZigLLVM_MacABI, // Mac Catalyst variant of Apple's iOS deployment target.
440
441437 ZigLLVM_LastEnvironmentType = ZigLLVM_MacABI
442438};
443439
......@@ -452,26 +448,6 @@ enum ZigLLVM_ObjectFormatType {
452448 ZigLLVM_XCOFF,
453449};
454450
455enum ZigLLVM_AtomicRMWBinOp {
456 ZigLLVMAtomicRMWBinOpXchg,
457 ZigLLVMAtomicRMWBinOpAdd,
458 ZigLLVMAtomicRMWBinOpSub,
459 ZigLLVMAtomicRMWBinOpAnd,
460 ZigLLVMAtomicRMWBinOpNand,
461 ZigLLVMAtomicRMWBinOpOr,
462 ZigLLVMAtomicRMWBinOpXor,
463 ZigLLVMAtomicRMWBinOpMax,
464 ZigLLVMAtomicRMWBinOpMin,
465 ZigLLVMAtomicRMWBinOpUMax,
466 ZigLLVMAtomicRMWBinOpUMin,
467 ZigLLVMAtomicRMWBinOpFAdd,
468 ZigLLVMAtomicRMWBinOpFSub,
469};
470
471LLVMValueRef ZigLLVMBuildAtomicRMW(LLVMBuilderRef B, enum ZigLLVM_AtomicRMWBinOp op,
472 LLVMValueRef PTR, LLVMValueRef Val,
473 LLVMAtomicOrdering ordering, LLVMBool singleThread);
474
475451LLVMValueRef ZigLLVMBuildAndReduce(LLVMBuilderRef B, LLVMValueRef Val);
476452LLVMValueRef ZigLLVMBuildOrReduce(LLVMBuilderRef B, LLVMValueRef Val);
477453LLVMValueRef ZigLLVMBuildXorReduce(LLVMBuilderRef B, LLVMValueRef Val);