update src/ to LLVM 13 rc1 API

This commit is contained in:
Andrew Kelley 2021-08-16 01:11:10 -07:00
parent a69b86003c
commit 2f599b655b
11 changed files with 542 additions and 301 deletions

View File

@ -464,6 +464,7 @@ pub const Target = struct {
musl,
musleabi,
musleabihf,
muslx32,
msvc,
itanium,
cygnus,
@ -758,6 +759,7 @@ pub const Target = struct {
bpfeb,
csky,
hexagon,
m68k,
mips,
mipsel,
mips64,
@ -900,6 +902,7 @@ pub const Target = struct {
.arm => ._ARM,
.armeb => ._ARM,
.hexagon => ._HEXAGON,
.m68k => ._68K,
.le32 => ._NONE,
.mips => ._MIPS,
.mipsel => ._MIPS_RS3_LE,
@ -960,6 +963,7 @@ pub const Target = struct {
.arm => .ARM,
.armeb => .Unknown,
.hexagon => .Unknown,
.m68k => .Unknown,
.le32 => .Unknown,
.mips => .Unknown,
.mipsel => .Unknown,
@ -1063,6 +1067,7 @@ pub const Target = struct {
.armeb,
.aarch64_be,
.bpfeb,
.m68k,
.mips,
.mips64,
.powerpc,
@ -1089,6 +1094,7 @@ pub const Target = struct {
.armeb,
.csky,
.hexagon,
.m68k,
.le32,
.mips,
.mipsel,
@ -1587,6 +1593,7 @@ pub const Target = struct {
.arc,
.csky,
.hexagon,
.m68k,
.msp430,
.r600,
.amdgcn,

View File

@ -1168,13 +1168,16 @@ const StmtClass = enum(c_int) {
IndirectGotoStmtClass,
MSDependentExistsStmtClass,
NullStmtClass,
OMPCanonicalLoopClass,
OMPAtomicDirectiveClass,
OMPBarrierDirectiveClass,
OMPCancelDirectiveClass,
OMPCancellationPointDirectiveClass,
OMPCriticalDirectiveClass,
OMPDepobjDirectiveClass,
OMPDispatchDirectiveClass,
OMPFlushDirectiveClass,
OMPInteropDirectiveClass,
OMPDistributeDirectiveClass,
OMPDistributeParallelForDirectiveClass,
OMPDistributeParallelForSimdDirectiveClass,
@ -1200,6 +1203,9 @@ const StmtClass = enum(c_int) {
OMPTeamsDistributeParallelForDirectiveClass,
OMPTeamsDistributeParallelForSimdDirectiveClass,
OMPTeamsDistributeSimdDirectiveClass,
OMPTileDirectiveClass,
OMPUnrollDirectiveClass,
OMPMaskedDirectiveClass,
OMPMasterDirectiveClass,
OMPOrderedDirectiveClass,
OMPParallelDirectiveClass,
@ -1348,6 +1354,7 @@ const StmtClass = enum(c_int) {
PseudoObjectExprClass,
RecoveryExprClass,
RequiresExprClass,
SYCLUniqueStableNameExprClass,
ShuffleVectorExprClass,
SizeOfPackExprClass,
SourceLocExprClass,
@ -1390,6 +1397,7 @@ pub const CK = enum(c_int) {
PointerToIntegral,
PointerToBoolean,
ToVoid,
MatrixCast,
VectorSplat,
IntegralCast,
IntegralToBoolean,
@ -1445,6 +1453,8 @@ pub const DeclKind = enum(c_int) {
Import,
LifetimeExtendedTemporary,
LinkageSpec,
Using,
UsingEnum,
Label,
Namespace,
NamespaceAlias,
@ -1473,7 +1483,7 @@ pub const DeclKind = enum(c_int) {
TypeAlias,
Typedef,
UnresolvedUsingTypename,
Using,
UnresolvedUsingIfExists,
UsingDirective,
UsingPack,
UsingShadow,
@ -1615,6 +1625,72 @@ pub const BuiltinTypeKind = enum(c_int) {
SveBool,
VectorQuad,
VectorPair,
RvvInt8mf8,
RvvInt8mf4,
RvvInt8mf2,
RvvInt8m1,
RvvInt8m2,
RvvInt8m4,
RvvInt8m8,
RvvUint8mf8,
RvvUint8mf4,
RvvUint8mf2,
RvvUint8m1,
RvvUint8m2,
RvvUint8m4,
RvvUint8m8,
RvvInt16mf4,
RvvInt16mf2,
RvvInt16m1,
RvvInt16m2,
RvvInt16m4,
RvvInt16m8,
RvvUint16mf4,
RvvUint16mf2,
RvvUint16m1,
RvvUint16m2,
RvvUint16m4,
RvvUint16m8,
RvvInt32mf2,
RvvInt32m1,
RvvInt32m2,
RvvInt32m4,
RvvInt32m8,
RvvUint32mf2,
RvvUint32m1,
RvvUint32m2,
RvvUint32m4,
RvvUint32m8,
RvvInt64m1,
RvvInt64m2,
RvvInt64m4,
RvvInt64m8,
RvvUint64m1,
RvvUint64m2,
RvvUint64m4,
RvvUint64m8,
RvvFloat16mf4,
RvvFloat16mf2,
RvvFloat16m1,
RvvFloat16m2,
RvvFloat16m4,
RvvFloat16m8,
RvvFloat32mf2,
RvvFloat32m1,
RvvFloat32m2,
RvvFloat32m4,
RvvFloat32m8,
RvvFloat64m1,
RvvFloat64m2,
RvvFloat64m4,
RvvFloat64m8,
RvvBool1,
RvvBool2,
RvvBool4,
RvvBool8,
RvvBool16,
RvvBool32,
RvvBool64,
Void,
Bool,
Char_U,
@ -1705,6 +1781,7 @@ pub const CallingConv = enum(c_int) {
SpirFunction,
OpenCLKernel,
Swift,
SwiftAsync,
PreserveMost,
PreserveAll,
AArch64VectorCall,

View File

@ -31,6 +31,7 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![:0]u8 {
.bpfeb => "bpfeb",
.csky => "csky",
.hexagon => "hexagon",
.m68k => "m68k",
.mips => "mips",
.mipsel => "mipsel",
.mips64 => "mips64",
@ -140,6 +141,7 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![:0]u8 {
.musl => "musl",
.musleabi => "musleabi",
.musleabihf => "musleabihf",
.muslx32 => "muslx32",
.msvc => "msvc",
.itanium => "itanium",
.cygnus => "cygnus",
@ -1463,6 +1465,7 @@ pub const FuncGen = struct {
llvm.Bool.fromBool(is_volatile),
.False,
.ATT,
.False,
);
return self.builder.buildCall(
asm_fn,

View File

@ -259,6 +259,7 @@ extern fn LLVMGetInlineAsm(
HasSideEffects: Bool,
IsAlignStack: Bool,
Dialect: InlineAsmDialect,
CanThrow: Bool,
) *const Value;
pub const functionType = LLVMFunctionType;
@ -840,6 +841,7 @@ pub const ArchType = enum(c_int) {
bpfeb,
csky,
hexagon,
m68k,
mips,
mipsel,
mips64,

View File

@ -3953,7 +3953,7 @@ static LLVMValueRef gen_valgrind_client_request(CodeGen *g, LLVMValueRef default
input_and_output_count, false);
LLVMValueRef asm_fn = LLVMGetInlineAsm(function_type, buf_ptr(asm_template), buf_len(asm_template),
buf_ptr(asm_constraints), buf_len(asm_constraints), asm_has_side_effects, asm_is_alignstack,
LLVMInlineAsmDialectATT);
LLVMInlineAsmDialectATT, false);
return LLVMBuildCall(g->builder, asm_fn, param_values, input_and_output_count, "");
}
}
@ -5064,7 +5064,7 @@ static LLVMValueRef ir_render_asm_gen(CodeGen *g, Stage1Air *executable, Stage1A
bool is_volatile = instruction->has_side_effects || (asm_expr->output_list.length == 0);
LLVMValueRef asm_fn = LLVMGetInlineAsm(function_type, buf_ptr(&llvm_template), buf_len(&llvm_template),
buf_ptr(&constraint_buf), buf_len(&constraint_buf), is_volatile, false, LLVMInlineAsmDialectATT);
buf_ptr(&constraint_buf), buf_len(&constraint_buf), is_volatile, false, LLVMInlineAsmDialectATT, false);
LLVMValueRef built_call = LLVMBuildCall(g->builder, asm_fn, param_values, (unsigned)input_and_output_count, "");
heap::c_allocator.deallocate(param_values, input_and_output_count);
@ -5606,21 +5606,21 @@ static LLVMAtomicOrdering to_LLVMAtomicOrdering(AtomicOrder atomic_order) {
zig_unreachable();
}
static enum ZigLLVM_AtomicRMWBinOp to_ZigLLVMAtomicRMWBinOp(AtomicRmwOp op, bool is_signed, bool is_float) {
static LLVMAtomicRMWBinOp to_LLVMAtomicRMWBinOp(AtomicRmwOp op, bool is_signed, bool is_float) {
switch (op) {
case AtomicRmwOp_xchg: return ZigLLVMAtomicRMWBinOpXchg;
case AtomicRmwOp_xchg: return LLVMAtomicRMWBinOpXchg;
case AtomicRmwOp_add:
return is_float ? ZigLLVMAtomicRMWBinOpFAdd : ZigLLVMAtomicRMWBinOpAdd;
return is_float ? LLVMAtomicRMWBinOpFAdd : LLVMAtomicRMWBinOpAdd;
case AtomicRmwOp_sub:
return is_float ? ZigLLVMAtomicRMWBinOpFSub : ZigLLVMAtomicRMWBinOpSub;
case AtomicRmwOp_and: return ZigLLVMAtomicRMWBinOpAnd;
case AtomicRmwOp_nand: return ZigLLVMAtomicRMWBinOpNand;
case AtomicRmwOp_or: return ZigLLVMAtomicRMWBinOpOr;
case AtomicRmwOp_xor: return ZigLLVMAtomicRMWBinOpXor;
return is_float ? LLVMAtomicRMWBinOpFSub : LLVMAtomicRMWBinOpSub;
case AtomicRmwOp_and: return LLVMAtomicRMWBinOpAnd;
case AtomicRmwOp_nand: return LLVMAtomicRMWBinOpNand;
case AtomicRmwOp_or: return LLVMAtomicRMWBinOpOr;
case AtomicRmwOp_xor: return LLVMAtomicRMWBinOpXor;
case AtomicRmwOp_max:
return is_signed ? ZigLLVMAtomicRMWBinOpMax : ZigLLVMAtomicRMWBinOpUMax;
return is_signed ? LLVMAtomicRMWBinOpMax : LLVMAtomicRMWBinOpUMax;
case AtomicRmwOp_min:
return is_signed ? ZigLLVMAtomicRMWBinOpMin : ZigLLVMAtomicRMWBinOpUMin;
return is_signed ? LLVMAtomicRMWBinOpMin : LLVMAtomicRMWBinOpUMin;
}
zig_unreachable();
}
@ -5679,8 +5679,9 @@ static LLVMValueRef ir_render_cmpxchg(CodeGen *g, Stage1Air *executable, Stage1A
LLVMAtomicOrdering success_order = to_LLVMAtomicOrdering(instruction->success_order);
LLVMAtomicOrdering failure_order = to_LLVMAtomicOrdering(instruction->failure_order);
LLVMValueRef result_val = ZigLLVMBuildCmpXchg(g->builder, ptr_val, cmp_val, new_val,
success_order, failure_order, instruction->is_weak);
LLVMValueRef result_val = LLVMBuildAtomicCmpXchg(g->builder, ptr_val, cmp_val, new_val,
success_order, failure_order, g->is_single_threaded);
LLVMSetWeak(result_val, instruction->is_weak);
ZigType *optional_type = instruction->base.value->type;
assert(optional_type->id == ZigTypeIdOptional);
@ -6446,13 +6447,13 @@ static LLVMValueRef ir_render_atomic_rmw(CodeGen *g, Stage1Air *executable,
} else {
is_signed = false;
}
enum ZigLLVM_AtomicRMWBinOp op = to_ZigLLVMAtomicRMWBinOp(instruction->op, is_signed, is_float);
LLVMAtomicRMWBinOp op = to_LLVMAtomicRMWBinOp(instruction->op, is_signed, is_float);
LLVMAtomicOrdering ordering = to_LLVMAtomicOrdering(instruction->ordering);
LLVMValueRef ptr = ir_llvm_value(g, instruction->ptr);
LLVMValueRef operand = ir_llvm_value(g, instruction->operand);
LLVMTypeRef actual_abi_type = get_atomic_abi_type(g, instruction->ptr,
op == ZigLLVMAtomicRMWBinOpXchg);
op == LLVMAtomicRMWBinOpXchg);
if (actual_abi_type != nullptr) {
// operand needs widening and truncating or bitcasting.
LLVMValueRef casted_ptr = LLVMBuildBitCast(g->builder, ptr,
@ -6465,7 +6466,7 @@ static LLVMValueRef ir_render_atomic_rmw(CodeGen *g, Stage1Air *executable,
} else {
casted_operand = LLVMBuildZExt(g->builder, operand, actual_abi_type, "");
}
LLVMValueRef uncasted_result = ZigLLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
LLVMValueRef uncasted_result = LLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
g->is_single_threaded);
if (is_float) {
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,
}
if (get_codegen_ptr_type_bail(g, operand_type) == nullptr) {
return ZigLLVMBuildAtomicRMW(g->builder, op, ptr, operand, ordering, g->is_single_threaded);
return LLVMBuildAtomicRMW(g->builder, op, ptr, operand, ordering, g->is_single_threaded);
}
// it's a pointer but we need to treat it as an int
LLVMValueRef casted_ptr = LLVMBuildBitCast(g->builder, ptr,
LLVMPointerType(g->builtin_types.entry_usize->llvm_type, 0), "");
LLVMValueRef casted_operand = LLVMBuildPtrToInt(g->builder, operand, g->builtin_types.entry_usize->llvm_type, "");
LLVMValueRef uncasted_result = ZigLLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
LLVMValueRef uncasted_result = LLVMBuildAtomicRMW(g->builder, op, casted_ptr, casted_operand, ordering,
g->is_single_threaded);
return LLVMBuildIntToPtr(g->builder, uncasted_result, get_llvm_type(g, operand_type), "");
}

View File

@ -25,6 +25,7 @@ static const ZigLLVM_ArchType arch_list[] = {
ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
ZigLLVM_csky, // CSKY: csky
ZigLLVM_hexagon, // Hexagon: hexagon
ZigLLVM_m68k, // M68k: Motorola 680x0 family
ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6
ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el
ZigLLVM_mips64, // MIPS64: mips64, mips64r6, mipsn32, mipsn32r6
@ -147,6 +148,7 @@ static const ZigLLVM_EnvironmentType abi_list[] = {
ZigLLVM_Musl,
ZigLLVM_MuslEABI,
ZigLLVM_MuslEABIHF,
ZigLLVM_MuslX32,
ZigLLVM_MSVC,
ZigLLVM_Itanium,
@ -497,6 +499,7 @@ uint32_t target_arch_pointer_bit_width(ZigLLVM_ArchType arch) {
case ZigLLVM_arm:
case ZigLLVM_armeb:
case ZigLLVM_hexagon:
case ZigLLVM_m68k:
case ZigLLVM_le32:
case ZigLLVM_mips:
case ZigLLVM_mipsel:
@ -564,6 +567,7 @@ uint32_t target_arch_largest_atomic_bits(ZigLLVM_ArchType arch) {
case ZigLLVM_arm:
case ZigLLVM_armeb:
case ZigLLVM_hexagon:
case ZigLLVM_m68k:
case ZigLLVM_le32:
case ZigLLVM_mips:
case ZigLLVM_mipsel:
@ -798,6 +802,8 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) {
case ZigLLVM_aarch64_32:
case ZigLLVM_riscv32:
case ZigLLVM_riscv64:
case ZigLLVM_m68k:
case ZigLLVM_mips:
case ZigLLVM_mipsel:
case ZigLLVM_ppc:
case ZigLLVM_ppcle:
@ -824,7 +830,6 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) {
case ZigLLVM_kalimba:
case ZigLLVM_le32:
case ZigLLVM_le64:
case ZigLLVM_mips:
case ZigLLVM_mips64:
case ZigLLVM_mips64el:
case ZigLLVM_msp430:
@ -873,6 +878,7 @@ bool target_is_arm(const ZigTarget *target) {
case ZigLLVM_bpfel:
case ZigLLVM_csky:
case ZigLLVM_hexagon:
case ZigLLVM_m68k:
case ZigLLVM_lanai:
case ZigLLVM_hsail:
case ZigLLVM_hsail64:

View File

@ -34,6 +34,8 @@ pub const available_libcs = [_]ArchOsAbi{
.{ .arch = .i386, .os = .linux, .abi = .gnu },
.{ .arch = .i386, .os = .linux, .abi = .musl },
.{ .arch = .i386, .os = .windows, .abi = .gnu },
.{ .arch = .m68k, .os = .linux, .abi = .gnu },
.{ .arch = .m68k, .os = .linux, .abi = .musl },
.{ .arch = .mips64el, .os = .linux, .abi = .gnuabi64 },
.{ .arch = .mips64el, .os = .linux, .abi = .gnuabin32 },
.{ .arch = .mips64el, .os = .linux, .abi = .musl },
@ -83,6 +85,7 @@ pub fn libCGenericName(target: std.Target) [:0]const u8 {
.musl,
.musleabi,
.musleabihf,
.muslx32,
.none,
=> return "musl",
.code16,
@ -186,6 +189,7 @@ pub fn hasLlvmSupport(target: std.Target) bool {
.bpfeb,
.csky,
.hexagon,
.m68k,
.mips,
.mipsel,
.mips64,
@ -295,6 +299,7 @@ pub fn archToLLVM(arch_tag: std.Target.Cpu.Arch) llvm.ArchType {
.bpfeb => .bpfeb,
.csky => .csky,
.hexagon => .hexagon,
.m68k => .m68k,
.mips => .mips,
.mipsel => .mipsel,
.mips64 => .mips64,

View File

@ -164,6 +164,10 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
case clang::CK_DerivedToBase:
case clang::CK_DerivedToBaseMemberPointer:
case clang::CK_Dynamic:
case clang::CK_FixedPointCast:
case clang::CK_FixedPointToBoolean:
case clang::CK_FixedPointToFloating:
case clang::CK_FixedPointToIntegral:
case clang::CK_FloatingCast:
case clang::CK_FloatingComplexCast:
case clang::CK_FloatingComplexToBoolean:
@ -171,6 +175,7 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
case clang::CK_FloatingComplexToReal:
case clang::CK_FloatingRealToComplex:
case clang::CK_FloatingToBoolean:
case clang::CK_FloatingToFixedPoint:
case clang::CK_FloatingToIntegral:
case clang::CK_FunctionToPointerDecay:
case clang::CK_IntToOCLSampler:
@ -181,13 +186,13 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
case clang::CK_IntegralComplexToReal:
case clang::CK_IntegralRealToComplex:
case clang::CK_IntegralToBoolean:
case clang::CK_IntegralToFixedPoint:
case clang::CK_IntegralToFloating:
case clang::CK_IntegralToPointer:
case clang::CK_FloatingToFixedPoint:
case clang::CK_FixedPointToFloating:
case clang::CK_LValueBitCast:
case clang::CK_LValueToRValueBitCast:
case clang::CK_LValueToRValue:
case clang::CK_LValueToRValueBitCast:
case clang::CK_MatrixCast:
case clang::CK_MemberPointerToBoolean:
case clang::CK_NoOp:
case clang::CK_NonAtomicToAtomic:
@ -203,10 +208,6 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
case clang::CK_UserDefinedConversion:
case clang::CK_VectorSplat:
case clang::CK_ZeroToOCLOpaqueType:
case clang::CK_FixedPointCast:
case clang::CK_FixedPointToIntegral:
case clang::CK_IntegralToFixedPoint:
case clang::CK_FixedPointToBoolean:
break;
}
};
@ -236,6 +237,7 @@ static_assert((clang::CastKind)ZigClangCK_IntegralToPointer == clang::CK_Integra
static_assert((clang::CastKind)ZigClangCK_PointerToIntegral == clang::CK_PointerToIntegral, "");
static_assert((clang::CastKind)ZigClangCK_PointerToBoolean == clang::CK_PointerToBoolean, "");
static_assert((clang::CastKind)ZigClangCK_ToVoid == clang::CK_ToVoid, "");
static_assert((clang::CastKind)ZigClangCK_MatrixCast == clang::CK_MatrixCast, "");
static_assert((clang::CastKind)ZigClangCK_VectorSplat == clang::CK_VectorSplat, "");
static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast, "");
static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, "");
@ -411,13 +413,16 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_IndirectGotoStmtClass:
case ZigClangStmt_MSDependentExistsStmtClass:
case ZigClangStmt_NullStmtClass:
case ZigClangStmt_OMPCanonicalLoopClass:
case ZigClangStmt_OMPAtomicDirectiveClass:
case ZigClangStmt_OMPBarrierDirectiveClass:
case ZigClangStmt_OMPCancelDirectiveClass:
case ZigClangStmt_OMPCancellationPointDirectiveClass:
case ZigClangStmt_OMPCriticalDirectiveClass:
case ZigClangStmt_OMPDepobjDirectiveClass:
case ZigClangStmt_OMPDispatchDirectiveClass:
case ZigClangStmt_OMPFlushDirectiveClass:
case ZigClangStmt_OMPInteropDirectiveClass:
case ZigClangStmt_OMPDistributeDirectiveClass:
case ZigClangStmt_OMPDistributeParallelForDirectiveClass:
case ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass:
@ -443,6 +448,9 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass:
case ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass:
case ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass:
case ZigClangStmt_OMPTileDirectiveClass:
case ZigClangStmt_OMPUnrollDirectiveClass:
case ZigClangStmt_OMPMaskedDirectiveClass:
case ZigClangStmt_OMPMasterDirectiveClass:
case ZigClangStmt_OMPOrderedDirectiveClass:
case ZigClangStmt_OMPParallelDirectiveClass:
@ -591,6 +599,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_PseudoObjectExprClass:
case ZigClangStmt_RecoveryExprClass:
case ZigClangStmt_RequiresExprClass:
case ZigClangStmt_SYCLUniqueStableNameExprClass:
case ZigClangStmt_ShuffleVectorExprClass:
case ZigClangStmt_SizeOfPackExprClass:
case ZigClangStmt_SourceLocExprClass:
@ -629,13 +638,16 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_IfStmtClass == clang::Stmt::I
static_assert((clang::Stmt::StmtClass)ZigClangStmt_IndirectGotoStmtClass == clang::Stmt::IndirectGotoStmtClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCanonicalLoopClass == clang::Stmt::OMPCanonicalLoopClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDepobjDirectiveClass == clang::Stmt::OMPDepobjDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDispatchDirectiveClass == clang::Stmt::OMPDispatchDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPInteropDirectiveClass == clang::Stmt::OMPInteropDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPDistributeParallelForSimdDirectiveClass, "");
@ -661,6 +673,9 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeDirectiveCl
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTileDirectiveClass == clang::Stmt::OMPTileDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPUnrollDirectiveClass == clang::Stmt::OMPUnrollDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMaskedDirectiveClass == clang::Stmt::OMPMaskedDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == clang::Stmt::OMPMasterDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == clang::Stmt::OMPOrderedDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
@ -809,6 +824,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang:
static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_RecoveryExprClass == clang::Stmt::RecoveryExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_RequiresExprClass == clang::Stmt::RequiresExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SYCLUniqueStableNameExprClass == clang::Stmt::SYCLUniqueStableNameExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SourceLocExprClass == clang::Stmt::SourceLocExprClass, "");
@ -876,6 +892,8 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
case clang::Decl::Import:
case clang::Decl::LifetimeExtendedTemporary:
case clang::Decl::LinkageSpec:
case clang::Decl::Using:
case clang::Decl::UsingEnum:
case clang::Decl::Label:
case clang::Decl::Namespace:
case clang::Decl::NamespaceAlias:
@ -904,7 +922,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
case clang::Decl::TypeAlias:
case clang::Decl::Typedef:
case clang::Decl::UnresolvedUsingTypename:
case clang::Decl::Using:
case clang::Decl::UnresolvedUsingIfExists:
case clang::Decl::UsingDirective:
case clang::Decl::UsingPack:
case clang::Decl::UsingShadow:
@ -961,6 +979,8 @@ static_assert((clang::Decl::Kind)ZigClangDeclFriendTemplate == clang::Decl::Frie
static_assert((clang::Decl::Kind)ZigClangDeclImport == clang::Decl::Import, "");
static_assert((clang::Decl::Kind)ZigClangDeclLifetimeExtendedTemporary == clang::Decl::LifetimeExtendedTemporary, "");
static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
static_assert((clang::Decl::Kind)ZigClangDeclUsingEnum == clang::Decl::UsingEnum, "");
static_assert((clang::Decl::Kind)ZigClangDeclLabel == clang::Decl::Label, "");
static_assert((clang::Decl::Kind)ZigClangDeclNamespace == clang::Decl::Namespace, "");
static_assert((clang::Decl::Kind)ZigClangDeclNamespaceAlias == clang::Decl::NamespaceAlias, "");
@ -989,8 +1009,8 @@ static_assert((clang::Decl::Kind)ZigClangDeclObjCTypeParam == clang::Decl::ObjCT
static_assert((clang::Decl::Kind)ZigClangDeclTypeAlias == clang::Decl::TypeAlias, "");
static_assert((clang::Decl::Kind)ZigClangDeclTypedef == clang::Decl::Typedef, "");
static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingTypename == clang::Decl::UnresolvedUsingTypename, "");
static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingIfExists == clang::Decl::UnresolvedUsingIfExists, "");
static_assert((clang::Decl::Kind)ZigClangDeclOMPAllocate == clang::Decl::OMPAllocate, "");
static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
static_assert((clang::Decl::Kind)ZigClangDeclUsingDirective == clang::Decl::UsingDirective, "");
static_assert((clang::Decl::Kind)ZigClangDeclUsingPack == clang::Decl::UsingPack, "");
static_assert((clang::Decl::Kind)ZigClangDeclUsingShadow == clang::Decl::UsingShadow, "");
@ -1032,177 +1052,243 @@ static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::Tra
void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
switch (x) {
case clang::BuiltinType::OCLImage1dRO:
case clang::BuiltinType::OCLImage1dArrayRO:
case clang::BuiltinType::OCLImage1dBufferRO:
case clang::BuiltinType::OCLImage2dRO:
case clang::BuiltinType::OCLImage2dArrayRO:
case clang::BuiltinType::OCLImage2dDepthRO:
case clang::BuiltinType::OCLImage2dArrayDepthRO:
case clang::BuiltinType::OCLImage2dMSAARO:
case clang::BuiltinType::OCLImage2dArrayMSAARO:
case clang::BuiltinType::OCLImage2dMSAADepthRO:
case clang::BuiltinType::OCLImage2dArrayMSAADepthRO:
case clang::BuiltinType::OCLImage3dRO:
case clang::BuiltinType::OCLImage1dWO:
case clang::BuiltinType::OCLImage1dArrayWO:
case clang::BuiltinType::OCLImage1dBufferWO:
case clang::BuiltinType::OCLImage2dWO:
case clang::BuiltinType::OCLImage2dArrayWO:
case clang::BuiltinType::OCLImage2dDepthWO:
case clang::BuiltinType::OCLImage2dArrayDepthWO:
case clang::BuiltinType::OCLImage2dMSAAWO:
case clang::BuiltinType::OCLImage2dArrayMSAAWO:
case clang::BuiltinType::OCLImage2dMSAADepthWO:
case clang::BuiltinType::OCLImage2dArrayMSAADepthWO:
case clang::BuiltinType::OCLImage3dWO:
case clang::BuiltinType::OCLImage1dRW:
case clang::BuiltinType::OCLImage1dArrayRW:
case clang::BuiltinType::OCLImage1dBufferRW:
case clang::BuiltinType::OCLImage2dRW:
case clang::BuiltinType::OCLImage2dArrayRW:
case clang::BuiltinType::OCLImage2dDepthRW:
case clang::BuiltinType::OCLImage2dArrayDepthRW:
case clang::BuiltinType::OCLImage2dMSAARW:
case clang::BuiltinType::OCLImage2dArrayMSAARW:
case clang::BuiltinType::OCLImage2dMSAADepthRW:
case clang::BuiltinType::OCLImage2dArrayMSAADepthRW:
case clang::BuiltinType::OCLImage3dRW:
case clang::BuiltinType::OCLIntelSubgroupAVCMcePayload:
case clang::BuiltinType::OCLIntelSubgroupAVCImePayload:
case clang::BuiltinType::OCLIntelSubgroupAVCRefPayload:
case clang::BuiltinType::OCLIntelSubgroupAVCSicPayload:
case clang::BuiltinType::OCLIntelSubgroupAVCMceResult:
case clang::BuiltinType::OCLIntelSubgroupAVCImeResult:
case clang::BuiltinType::OCLIntelSubgroupAVCRefResult:
case clang::BuiltinType::OCLIntelSubgroupAVCSicResult:
case clang::BuiltinType::OCLIntelSubgroupAVCImeResultSingleRefStreamout:
case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout:
case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin:
case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin:
case clang::BuiltinType::SveInt8:
case clang::BuiltinType::SveInt16:
case clang::BuiltinType::SveInt32:
case clang::BuiltinType::SveInt64:
case clang::BuiltinType::SveUint8:
case clang::BuiltinType::SveUint16:
case clang::BuiltinType::SveUint32:
case clang::BuiltinType::SveUint64:
case clang::BuiltinType::SveFloat16:
case clang::BuiltinType::SveFloat32:
case clang::BuiltinType::SveFloat64:
case clang::BuiltinType::SveBFloat16:
case clang::BuiltinType::SveInt8x2:
case clang::BuiltinType::SveInt16x2:
case clang::BuiltinType::SveInt32x2:
case clang::BuiltinType::SveInt64x2:
case clang::BuiltinType::SveUint8x2:
case clang::BuiltinType::SveUint16x2:
case clang::BuiltinType::SveUint32x2:
case clang::BuiltinType::SveUint64x2:
case clang::BuiltinType::SveFloat16x2:
case clang::BuiltinType::SveFloat32x2:
case clang::BuiltinType::SveFloat64x2:
case clang::BuiltinType::SveBFloat16x2:
case clang::BuiltinType::SveInt8x3:
case clang::BuiltinType::SveInt16x3:
case clang::BuiltinType::SveInt32x3:
case clang::BuiltinType::SveInt64x3:
case clang::BuiltinType::SveUint8x3:
case clang::BuiltinType::SveUint16x3:
case clang::BuiltinType::SveUint32x3:
case clang::BuiltinType::SveUint64x3:
case clang::BuiltinType::SveFloat16x3:
case clang::BuiltinType::SveFloat32x3:
case clang::BuiltinType::SveFloat64x3:
case clang::BuiltinType::SveBFloat16x3:
case clang::BuiltinType::SveInt8x4:
case clang::BuiltinType::SveInt16x4:
case clang::BuiltinType::SveInt32x4:
case clang::BuiltinType::SveInt64x4:
case clang::BuiltinType::SveUint8x4:
case clang::BuiltinType::SveUint16x4:
case clang::BuiltinType::SveUint32x4:
case clang::BuiltinType::SveUint64x4:
case clang::BuiltinType::SveFloat16x4:
case clang::BuiltinType::SveFloat32x4:
case clang::BuiltinType::SveFloat64x4:
case clang::BuiltinType::SveBFloat16x4:
case clang::BuiltinType::SveBool:
case clang::BuiltinType::VectorQuad:
case clang::BuiltinType::VectorPair:
case clang::BuiltinType::Void:
case clang::BuiltinType::Bool:
case clang::BuiltinType::Char_U:
case clang::BuiltinType::UChar:
case clang::BuiltinType::WChar_U:
case clang::BuiltinType::Char8:
case clang::BuiltinType::Char16:
case clang::BuiltinType::Char32:
case clang::BuiltinType::UShort:
case clang::BuiltinType::UInt:
case clang::BuiltinType::ULong:
case clang::BuiltinType::ULongLong:
case clang::BuiltinType::UInt128:
case clang::BuiltinType::Char_S:
case clang::BuiltinType::SChar:
case clang::BuiltinType::WChar_S:
case clang::BuiltinType::Short:
case clang::BuiltinType::Int:
case clang::BuiltinType::Long:
case clang::BuiltinType::LongLong:
case clang::BuiltinType::Int128:
case clang::BuiltinType::ShortAccum:
case clang::BuiltinType::Accum:
case clang::BuiltinType::LongAccum:
case clang::BuiltinType::UShortAccum:
case clang::BuiltinType::UAccum:
case clang::BuiltinType::ULongAccum:
case clang::BuiltinType::ShortFract:
case clang::BuiltinType::Fract:
case clang::BuiltinType::LongFract:
case clang::BuiltinType::UShortFract:
case clang::BuiltinType::UFract:
case clang::BuiltinType::ULongFract:
case clang::BuiltinType::SatShortAccum:
case clang::BuiltinType::SatAccum:
case clang::BuiltinType::SatLongAccum:
case clang::BuiltinType::SatUShortAccum:
case clang::BuiltinType::SatUAccum:
case clang::BuiltinType::SatULongAccum:
case clang::BuiltinType::SatShortFract:
case clang::BuiltinType::SatFract:
case clang::BuiltinType::SatLongFract:
case clang::BuiltinType::SatUShortFract:
case clang::BuiltinType::SatUFract:
case clang::BuiltinType::SatULongFract:
case clang::BuiltinType::Half:
case clang::BuiltinType::Float:
case clang::BuiltinType::Double:
case clang::BuiltinType::LongDouble:
case clang::BuiltinType::Float16:
case clang::BuiltinType::BFloat16:
case clang::BuiltinType::Float128:
case clang::BuiltinType::NullPtr:
case clang::BuiltinType::ObjCId:
case clang::BuiltinType::ObjCClass:
case clang::BuiltinType::ObjCSel:
case clang::BuiltinType::OCLSampler:
case clang::BuiltinType::OCLEvent:
case clang::BuiltinType::OCLClkEvent:
case clang::BuiltinType::OCLQueue:
case clang::BuiltinType::OCLReserveID:
case clang::BuiltinType::Dependent:
case clang::BuiltinType::Overload:
case clang::BuiltinType::BoundMember:
case clang::BuiltinType::PseudoObject:
case clang::BuiltinType::UnknownAny:
case clang::BuiltinType::BuiltinFn:
case clang::BuiltinType::ARCUnbridgedCast:
case clang::BuiltinType::IncompleteMatrixIdx:
case clang::BuiltinType::OMPArraySection:
case clang::BuiltinType::OMPArrayShaping:
case clang::BuiltinType::OMPIterator:
case ZigClangBuiltinTypeOCLImage1dRO:
case ZigClangBuiltinTypeOCLImage1dArrayRO:
case ZigClangBuiltinTypeOCLImage1dBufferRO:
case ZigClangBuiltinTypeOCLImage2dRO:
case ZigClangBuiltinTypeOCLImage2dArrayRO:
case ZigClangBuiltinTypeOCLImage2dDepthRO:
case ZigClangBuiltinTypeOCLImage2dArrayDepthRO:
case ZigClangBuiltinTypeOCLImage2dMSAARO:
case ZigClangBuiltinTypeOCLImage2dArrayMSAARO:
case ZigClangBuiltinTypeOCLImage2dMSAADepthRO:
case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRO:
case ZigClangBuiltinTypeOCLImage3dRO:
case ZigClangBuiltinTypeOCLImage1dWO:
case ZigClangBuiltinTypeOCLImage1dArrayWO:
case ZigClangBuiltinTypeOCLImage1dBufferWO:
case ZigClangBuiltinTypeOCLImage2dWO:
case ZigClangBuiltinTypeOCLImage2dArrayWO:
case ZigClangBuiltinTypeOCLImage2dDepthWO:
case ZigClangBuiltinTypeOCLImage2dArrayDepthWO:
case ZigClangBuiltinTypeOCLImage2dMSAAWO:
case ZigClangBuiltinTypeOCLImage2dArrayMSAAWO:
case ZigClangBuiltinTypeOCLImage2dMSAADepthWO:
case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthWO:
case ZigClangBuiltinTypeOCLImage3dWO:
case ZigClangBuiltinTypeOCLImage1dRW:
case ZigClangBuiltinTypeOCLImage1dArrayRW:
case ZigClangBuiltinTypeOCLImage1dBufferRW:
case ZigClangBuiltinTypeOCLImage2dRW:
case ZigClangBuiltinTypeOCLImage2dArrayRW:
case ZigClangBuiltinTypeOCLImage2dDepthRW:
case ZigClangBuiltinTypeOCLImage2dArrayDepthRW:
case ZigClangBuiltinTypeOCLImage2dMSAARW:
case ZigClangBuiltinTypeOCLImage2dArrayMSAARW:
case ZigClangBuiltinTypeOCLImage2dMSAADepthRW:
case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRW:
case ZigClangBuiltinTypeOCLImage3dRW:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCMcePayload:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImePayload:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefPayload:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicPayload:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCMceResult:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResult:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefResult:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicResult:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultSingleRefStreamout:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin:
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin:
case ZigClangBuiltinTypeSveInt8:
case ZigClangBuiltinTypeSveInt16:
case ZigClangBuiltinTypeSveInt32:
case ZigClangBuiltinTypeSveInt64:
case ZigClangBuiltinTypeSveUint8:
case ZigClangBuiltinTypeSveUint16:
case ZigClangBuiltinTypeSveUint32:
case ZigClangBuiltinTypeSveUint64:
case ZigClangBuiltinTypeSveFloat16:
case ZigClangBuiltinTypeSveFloat32:
case ZigClangBuiltinTypeSveFloat64:
case ZigClangBuiltinTypeSveBFloat16:
case ZigClangBuiltinTypeSveInt8x2:
case ZigClangBuiltinTypeSveInt16x2:
case ZigClangBuiltinTypeSveInt32x2:
case ZigClangBuiltinTypeSveInt64x2:
case ZigClangBuiltinTypeSveUint8x2:
case ZigClangBuiltinTypeSveUint16x2:
case ZigClangBuiltinTypeSveUint32x2:
case ZigClangBuiltinTypeSveUint64x2:
case ZigClangBuiltinTypeSveFloat16x2:
case ZigClangBuiltinTypeSveFloat32x2:
case ZigClangBuiltinTypeSveFloat64x2:
case ZigClangBuiltinTypeSveBFloat16x2:
case ZigClangBuiltinTypeSveInt8x3:
case ZigClangBuiltinTypeSveInt16x3:
case ZigClangBuiltinTypeSveInt32x3:
case ZigClangBuiltinTypeSveInt64x3:
case ZigClangBuiltinTypeSveUint8x3:
case ZigClangBuiltinTypeSveUint16x3:
case ZigClangBuiltinTypeSveUint32x3:
case ZigClangBuiltinTypeSveUint64x3:
case ZigClangBuiltinTypeSveFloat16x3:
case ZigClangBuiltinTypeSveFloat32x3:
case ZigClangBuiltinTypeSveFloat64x3:
case ZigClangBuiltinTypeSveBFloat16x3:
case ZigClangBuiltinTypeSveInt8x4:
case ZigClangBuiltinTypeSveInt16x4:
case ZigClangBuiltinTypeSveInt32x4:
case ZigClangBuiltinTypeSveInt64x4:
case ZigClangBuiltinTypeSveUint8x4:
case ZigClangBuiltinTypeSveUint16x4:
case ZigClangBuiltinTypeSveUint32x4:
case ZigClangBuiltinTypeSveUint64x4:
case ZigClangBuiltinTypeSveFloat16x4:
case ZigClangBuiltinTypeSveFloat32x4:
case ZigClangBuiltinTypeSveFloat64x4:
case ZigClangBuiltinTypeSveBFloat16x4:
case ZigClangBuiltinTypeSveBool:
case ZigClangBuiltinTypeVectorQuad:
case ZigClangBuiltinTypeVectorPair:
case ZigClangBuiltinTypeRvvInt8mf8:
case ZigClangBuiltinTypeRvvInt8mf4:
case ZigClangBuiltinTypeRvvInt8mf2:
case ZigClangBuiltinTypeRvvInt8m1:
case ZigClangBuiltinTypeRvvInt8m2:
case ZigClangBuiltinTypeRvvInt8m4:
case ZigClangBuiltinTypeRvvInt8m8:
case ZigClangBuiltinTypeRvvUint8mf8:
case ZigClangBuiltinTypeRvvUint8mf4:
case ZigClangBuiltinTypeRvvUint8mf2:
case ZigClangBuiltinTypeRvvUint8m1:
case ZigClangBuiltinTypeRvvUint8m2:
case ZigClangBuiltinTypeRvvUint8m4:
case ZigClangBuiltinTypeRvvUint8m8:
case ZigClangBuiltinTypeRvvInt16mf4:
case ZigClangBuiltinTypeRvvInt16mf2:
case ZigClangBuiltinTypeRvvInt16m1:
case ZigClangBuiltinTypeRvvInt16m2:
case ZigClangBuiltinTypeRvvInt16m4:
case ZigClangBuiltinTypeRvvInt16m8:
case ZigClangBuiltinTypeRvvUint16mf4:
case ZigClangBuiltinTypeRvvUint16mf2:
case ZigClangBuiltinTypeRvvUint16m1:
case ZigClangBuiltinTypeRvvUint16m2:
case ZigClangBuiltinTypeRvvUint16m4:
case ZigClangBuiltinTypeRvvUint16m8:
case ZigClangBuiltinTypeRvvInt32mf2:
case ZigClangBuiltinTypeRvvInt32m1:
case ZigClangBuiltinTypeRvvInt32m2:
case ZigClangBuiltinTypeRvvInt32m4:
case ZigClangBuiltinTypeRvvInt32m8:
case ZigClangBuiltinTypeRvvUint32mf2:
case ZigClangBuiltinTypeRvvUint32m1:
case ZigClangBuiltinTypeRvvUint32m2:
case ZigClangBuiltinTypeRvvUint32m4:
case ZigClangBuiltinTypeRvvUint32m8:
case ZigClangBuiltinTypeRvvInt64m1:
case ZigClangBuiltinTypeRvvInt64m2:
case ZigClangBuiltinTypeRvvInt64m4:
case ZigClangBuiltinTypeRvvInt64m8:
case ZigClangBuiltinTypeRvvUint64m1:
case ZigClangBuiltinTypeRvvUint64m2:
case ZigClangBuiltinTypeRvvUint64m4:
case ZigClangBuiltinTypeRvvUint64m8:
case ZigClangBuiltinTypeRvvFloat16mf4:
case ZigClangBuiltinTypeRvvFloat16mf2:
case ZigClangBuiltinTypeRvvFloat16m1:
case ZigClangBuiltinTypeRvvFloat16m2:
case ZigClangBuiltinTypeRvvFloat16m4:
case ZigClangBuiltinTypeRvvFloat16m8:
case ZigClangBuiltinTypeRvvFloat32mf2:
case ZigClangBuiltinTypeRvvFloat32m1:
case ZigClangBuiltinTypeRvvFloat32m2:
case ZigClangBuiltinTypeRvvFloat32m4:
case ZigClangBuiltinTypeRvvFloat32m8:
case ZigClangBuiltinTypeRvvFloat64m1:
case ZigClangBuiltinTypeRvvFloat64m2:
case ZigClangBuiltinTypeRvvFloat64m4:
case ZigClangBuiltinTypeRvvFloat64m8:
case ZigClangBuiltinTypeRvvBool1:
case ZigClangBuiltinTypeRvvBool2:
case ZigClangBuiltinTypeRvvBool4:
case ZigClangBuiltinTypeRvvBool8:
case ZigClangBuiltinTypeRvvBool16:
case ZigClangBuiltinTypeRvvBool32:
case ZigClangBuiltinTypeRvvBool64:
case ZigClangBuiltinTypeVoid:
case ZigClangBuiltinTypeBool:
case ZigClangBuiltinTypeChar_U:
case ZigClangBuiltinTypeUChar:
case ZigClangBuiltinTypeWChar_U:
case ZigClangBuiltinTypeChar8:
case ZigClangBuiltinTypeChar16:
case ZigClangBuiltinTypeChar32:
case ZigClangBuiltinTypeUShort:
case ZigClangBuiltinTypeUInt:
case ZigClangBuiltinTypeULong:
case ZigClangBuiltinTypeULongLong:
case ZigClangBuiltinTypeUInt128:
case ZigClangBuiltinTypeChar_S:
case ZigClangBuiltinTypeSChar:
case ZigClangBuiltinTypeWChar_S:
case ZigClangBuiltinTypeShort:
case ZigClangBuiltinTypeInt:
case ZigClangBuiltinTypeLong:
case ZigClangBuiltinTypeLongLong:
case ZigClangBuiltinTypeInt128:
case ZigClangBuiltinTypeShortAccum:
case ZigClangBuiltinTypeAccum:
case ZigClangBuiltinTypeLongAccum:
case ZigClangBuiltinTypeUShortAccum:
case ZigClangBuiltinTypeUAccum:
case ZigClangBuiltinTypeULongAccum:
case ZigClangBuiltinTypeShortFract:
case ZigClangBuiltinTypeFract:
case ZigClangBuiltinTypeLongFract:
case ZigClangBuiltinTypeUShortFract:
case ZigClangBuiltinTypeUFract:
case ZigClangBuiltinTypeULongFract:
case ZigClangBuiltinTypeSatShortAccum:
case ZigClangBuiltinTypeSatAccum:
case ZigClangBuiltinTypeSatLongAccum:
case ZigClangBuiltinTypeSatUShortAccum:
case ZigClangBuiltinTypeSatUAccum:
case ZigClangBuiltinTypeSatULongAccum:
case ZigClangBuiltinTypeSatShortFract:
case ZigClangBuiltinTypeSatFract:
case ZigClangBuiltinTypeSatLongFract:
case ZigClangBuiltinTypeSatUShortFract:
case ZigClangBuiltinTypeSatUFract:
case ZigClangBuiltinTypeSatULongFract:
case ZigClangBuiltinTypeHalf:
case ZigClangBuiltinTypeFloat:
case ZigClangBuiltinTypeDouble:
case ZigClangBuiltinTypeLongDouble:
case ZigClangBuiltinTypeFloat16:
case ZigClangBuiltinTypeBFloat16:
case ZigClangBuiltinTypeFloat128:
case ZigClangBuiltinTypeNullPtr:
case ZigClangBuiltinTypeObjCId:
case ZigClangBuiltinTypeObjCClass:
case ZigClangBuiltinTypeObjCSel:
case ZigClangBuiltinTypeOCLSampler:
case ZigClangBuiltinTypeOCLEvent:
case ZigClangBuiltinTypeOCLClkEvent:
case ZigClangBuiltinTypeOCLQueue:
case ZigClangBuiltinTypeOCLReserveID:
case ZigClangBuiltinTypeDependent:
case ZigClangBuiltinTypeOverload:
case ZigClangBuiltinTypeBoundMember:
case ZigClangBuiltinTypePseudoObject:
case ZigClangBuiltinTypeUnknownAny:
case ZigClangBuiltinTypeBuiltinFn:
case ZigClangBuiltinTypeARCUnbridgedCast:
case ZigClangBuiltinTypeIncompleteMatrixIdx:
case ZigClangBuiltinTypeOMPArraySection:
case ZigClangBuiltinTypeOMPArrayShaping:
case ZigClangBuiltinTypeOMPIterator:
break;
}
}
@ -1306,6 +1392,72 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clan
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorQuad == clang::BuiltinType::VectorQuad, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorPair == clang::BuiltinType::VectorPair, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf8 == clang::BuiltinType::RvvInt8mf8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf4 == clang::BuiltinType::RvvInt8mf4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf2 == clang::BuiltinType::RvvInt8mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m1 == clang::BuiltinType::RvvInt8m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m2 == clang::BuiltinType::RvvInt8m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m4 == clang::BuiltinType::RvvInt8m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8m8 == clang::BuiltinType::RvvInt8m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8mf8 == clang::BuiltinType::RvvUint8mf8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8mf4 == clang::BuiltinType::RvvUint8mf4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8mf2 == clang::BuiltinType::RvvUint8mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m1 == clang::BuiltinType::RvvUint8m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m2 == clang::BuiltinType::RvvUint8m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m4 == clang::BuiltinType::RvvUint8m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint8m8 == clang::BuiltinType::RvvUint8m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16mf4 == clang::BuiltinType::RvvInt16mf4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16mf2 == clang::BuiltinType::RvvInt16mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m1 == clang::BuiltinType::RvvInt16m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m2 == clang::BuiltinType::RvvInt16m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m4 == clang::BuiltinType::RvvInt16m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt16m8 == clang::BuiltinType::RvvInt16m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16mf4 == clang::BuiltinType::RvvUint16mf4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16mf2 == clang::BuiltinType::RvvUint16mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m1 == clang::BuiltinType::RvvUint16m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m2 == clang::BuiltinType::RvvUint16m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m4 == clang::BuiltinType::RvvUint16m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint16m8 == clang::BuiltinType::RvvUint16m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32mf2 == clang::BuiltinType::RvvInt32mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m1 == clang::BuiltinType::RvvInt32m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m2 == clang::BuiltinType::RvvInt32m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m4 == clang::BuiltinType::RvvInt32m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt32m8 == clang::BuiltinType::RvvInt32m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32mf2 == clang::BuiltinType::RvvUint32mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m1 == clang::BuiltinType::RvvUint32m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m2 == clang::BuiltinType::RvvUint32m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m4 == clang::BuiltinType::RvvUint32m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint32m8 == clang::BuiltinType::RvvUint32m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m1 == clang::BuiltinType::RvvInt64m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m2 == clang::BuiltinType::RvvInt64m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m4 == clang::BuiltinType::RvvInt64m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt64m8 == clang::BuiltinType::RvvInt64m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m1 == clang::BuiltinType::RvvUint64m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m2 == clang::BuiltinType::RvvUint64m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m4 == clang::BuiltinType::RvvUint64m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvUint64m8 == clang::BuiltinType::RvvUint64m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16mf4 == clang::BuiltinType::RvvFloat16mf4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16mf2 == clang::BuiltinType::RvvFloat16mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m1 == clang::BuiltinType::RvvFloat16m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m2 == clang::BuiltinType::RvvFloat16m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m4 == clang::BuiltinType::RvvFloat16m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat16m8 == clang::BuiltinType::RvvFloat16m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32mf2 == clang::BuiltinType::RvvFloat32mf2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m1 == clang::BuiltinType::RvvFloat32m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m2 == clang::BuiltinType::RvvFloat32m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m4 == clang::BuiltinType::RvvFloat32m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat32m8 == clang::BuiltinType::RvvFloat32m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m1 == clang::BuiltinType::RvvFloat64m1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m2 == clang::BuiltinType::RvvFloat64m2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m4 == clang::BuiltinType::RvvFloat64m4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvFloat64m8 == clang::BuiltinType::RvvFloat64m8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool1 == clang::BuiltinType::RvvBool1, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool2 == clang::BuiltinType::RvvBool2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool4 == clang::BuiltinType::RvvBool4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool8 == clang::BuiltinType::RvvBool8, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool16 == clang::BuiltinType::RvvBool16, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool32 == clang::BuiltinType::RvvBool32, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBool64 == clang::BuiltinType::RvvBool64, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
@ -1396,6 +1548,7 @@ void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {
case clang::CC_SpirFunction:
case clang::CC_OpenCLKernel:
case clang::CC_Swift:
case clang::CC_SwiftAsync:
case clang::CC_PreserveMost:
case clang::CC_PreserveAll:
case clang::CC_AArch64VectorCall:
@ -1418,6 +1571,7 @@ static_assert((clang::CallingConv)ZigClangCallingConv_IntelOclBicc == clang::CC_
static_assert((clang::CallingConv)ZigClangCallingConv_SpirFunction == clang::CC_SpirFunction, "");
static_assert((clang::CallingConv)ZigClangCallingConv_OpenCLKernel == clang::CC_OpenCLKernel, "");
static_assert((clang::CallingConv)ZigClangCallingConv_Swift == clang::CC_Swift, "");
static_assert((clang::CallingConv)ZigClangCallingConv_SwiftAsync == clang::CC_SwiftAsync, "");
static_assert((clang::CallingConv)ZigClangCallingConv_PreserveMost == clang::CC_PreserveMost, "");
static_assert((clang::CallingConv)ZigClangCallingConv_PreserveAll == clang::CC_PreserveAll, "");
static_assert((clang::CallingConv)ZigClangCallingConv_AArch64VectorCall == clang::CC_AArch64VectorCall, "");

View File

@ -318,13 +318,16 @@ enum ZigClangStmtClass {
ZigClangStmt_IndirectGotoStmtClass,
ZigClangStmt_MSDependentExistsStmtClass,
ZigClangStmt_NullStmtClass,
ZigClangStmt_OMPCanonicalLoopClass,
ZigClangStmt_OMPAtomicDirectiveClass,
ZigClangStmt_OMPBarrierDirectiveClass,
ZigClangStmt_OMPCancelDirectiveClass,
ZigClangStmt_OMPCancellationPointDirectiveClass,
ZigClangStmt_OMPCriticalDirectiveClass,
ZigClangStmt_OMPDepobjDirectiveClass,
ZigClangStmt_OMPDispatchDirectiveClass,
ZigClangStmt_OMPFlushDirectiveClass,
ZigClangStmt_OMPInteropDirectiveClass,
ZigClangStmt_OMPDistributeDirectiveClass,
ZigClangStmt_OMPDistributeParallelForDirectiveClass,
ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass,
@ -350,6 +353,9 @@ enum ZigClangStmtClass {
ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass,
ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,
ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,
ZigClangStmt_OMPTileDirectiveClass,
ZigClangStmt_OMPUnrollDirectiveClass,
ZigClangStmt_OMPMaskedDirectiveClass,
ZigClangStmt_OMPMasterDirectiveClass,
ZigClangStmt_OMPOrderedDirectiveClass,
ZigClangStmt_OMPParallelDirectiveClass,
@ -498,6 +504,7 @@ enum ZigClangStmtClass {
ZigClangStmt_PseudoObjectExprClass,
ZigClangStmt_RecoveryExprClass,
ZigClangStmt_RequiresExprClass,
ZigClangStmt_SYCLUniqueStableNameExprClass,
ZigClangStmt_ShuffleVectorExprClass,
ZigClangStmt_SizeOfPackExprClass,
ZigClangStmt_SourceLocExprClass,
@ -540,6 +547,7 @@ enum ZigClangCK {
ZigClangCK_PointerToIntegral,
ZigClangCK_PointerToBoolean,
ZigClangCK_ToVoid,
ZigClangCK_MatrixCast,
ZigClangCK_VectorSplat,
ZigClangCK_IntegralCast,
ZigClangCK_IntegralToBoolean,
@ -595,6 +603,8 @@ enum ZigClangDeclKind {
ZigClangDeclImport,
ZigClangDeclLifetimeExtendedTemporary,
ZigClangDeclLinkageSpec,
ZigClangDeclUsing,
ZigClangDeclUsingEnum,
ZigClangDeclLabel,
ZigClangDeclNamespace,
ZigClangDeclNamespaceAlias,
@ -623,7 +633,7 @@ enum ZigClangDeclKind {
ZigClangDeclTypeAlias,
ZigClangDeclTypedef,
ZigClangDeclUnresolvedUsingTypename,
ZigClangDeclUsing,
ZigClangDeclUnresolvedUsingIfExists,
ZigClangDeclUsingDirective,
ZigClangDeclUsingPack,
ZigClangDeclUsingShadow,
@ -765,6 +775,72 @@ enum ZigClangBuiltinTypeKind {
ZigClangBuiltinTypeSveBool,
ZigClangBuiltinTypeVectorQuad,
ZigClangBuiltinTypeVectorPair,
ZigClangBuiltinTypeRvvInt8mf8,
ZigClangBuiltinTypeRvvInt8mf4,
ZigClangBuiltinTypeRvvInt8mf2,
ZigClangBuiltinTypeRvvInt8m1,
ZigClangBuiltinTypeRvvInt8m2,
ZigClangBuiltinTypeRvvInt8m4,
ZigClangBuiltinTypeRvvInt8m8,
ZigClangBuiltinTypeRvvUint8mf8,
ZigClangBuiltinTypeRvvUint8mf4,
ZigClangBuiltinTypeRvvUint8mf2,
ZigClangBuiltinTypeRvvUint8m1,
ZigClangBuiltinTypeRvvUint8m2,
ZigClangBuiltinTypeRvvUint8m4,
ZigClangBuiltinTypeRvvUint8m8,
ZigClangBuiltinTypeRvvInt16mf4,
ZigClangBuiltinTypeRvvInt16mf2,
ZigClangBuiltinTypeRvvInt16m1,
ZigClangBuiltinTypeRvvInt16m2,
ZigClangBuiltinTypeRvvInt16m4,
ZigClangBuiltinTypeRvvInt16m8,
ZigClangBuiltinTypeRvvUint16mf4,
ZigClangBuiltinTypeRvvUint16mf2,
ZigClangBuiltinTypeRvvUint16m1,
ZigClangBuiltinTypeRvvUint16m2,
ZigClangBuiltinTypeRvvUint16m4,
ZigClangBuiltinTypeRvvUint16m8,
ZigClangBuiltinTypeRvvInt32mf2,
ZigClangBuiltinTypeRvvInt32m1,
ZigClangBuiltinTypeRvvInt32m2,
ZigClangBuiltinTypeRvvInt32m4,
ZigClangBuiltinTypeRvvInt32m8,
ZigClangBuiltinTypeRvvUint32mf2,
ZigClangBuiltinTypeRvvUint32m1,
ZigClangBuiltinTypeRvvUint32m2,
ZigClangBuiltinTypeRvvUint32m4,
ZigClangBuiltinTypeRvvUint32m8,
ZigClangBuiltinTypeRvvInt64m1,
ZigClangBuiltinTypeRvvInt64m2,
ZigClangBuiltinTypeRvvInt64m4,
ZigClangBuiltinTypeRvvInt64m8,
ZigClangBuiltinTypeRvvUint64m1,
ZigClangBuiltinTypeRvvUint64m2,
ZigClangBuiltinTypeRvvUint64m4,
ZigClangBuiltinTypeRvvUint64m8,
ZigClangBuiltinTypeRvvFloat16mf4,
ZigClangBuiltinTypeRvvFloat16mf2,
ZigClangBuiltinTypeRvvFloat16m1,
ZigClangBuiltinTypeRvvFloat16m2,
ZigClangBuiltinTypeRvvFloat16m4,
ZigClangBuiltinTypeRvvFloat16m8,
ZigClangBuiltinTypeRvvFloat32mf2,
ZigClangBuiltinTypeRvvFloat32m1,
ZigClangBuiltinTypeRvvFloat32m2,
ZigClangBuiltinTypeRvvFloat32m4,
ZigClangBuiltinTypeRvvFloat32m8,
ZigClangBuiltinTypeRvvFloat64m1,
ZigClangBuiltinTypeRvvFloat64m2,
ZigClangBuiltinTypeRvvFloat64m4,
ZigClangBuiltinTypeRvvFloat64m8,
ZigClangBuiltinTypeRvvBool1,
ZigClangBuiltinTypeRvvBool2,
ZigClangBuiltinTypeRvvBool4,
ZigClangBuiltinTypeRvvBool8,
ZigClangBuiltinTypeRvvBool16,
ZigClangBuiltinTypeRvvBool32,
ZigClangBuiltinTypeRvvBool64,
ZigClangBuiltinTypeVoid,
ZigClangBuiltinTypeBool,
ZigClangBuiltinTypeChar_U,
@ -855,6 +931,7 @@ enum ZigClangCallingConv {
ZigClangCallingConv_SpirFunction, // default for OpenCL functions on SPIR target
ZigClangCallingConv_OpenCLKernel, // inferred for OpenCL kernels
ZigClangCallingConv_Swift, // __attribute__((swiftcall))
ZigClangCallingConv_SwiftAsync, // __attribute__((swiftasynccall))
ZigClangCallingConv_PreserveMost, // __attribute__((preserve_most))
ZigClangCallingConv_PreserveAll, // __attribute__((preserve_all))
ZigClangCallingConv_AArch64VectorCall, // __attribute__((aarch64_vector_pcs))

View File

@ -155,10 +155,6 @@ LLVMTargetMachineRef ZigLLVMCreateTargetMachine(LLVMTargetRef T, const char *Tri
TargetOptions opt;
// Work around the missing initialization of this field in the default
// constructor. Use -1 so that the default value is used.
opt.StackProtectorGuardOffset = (unsigned)-1;
opt.FunctionSections = function_sections;
switch (float_abi) {
case ZigLLVMABITypeDefault:
@ -240,7 +236,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
if (asm_filename) {
std::error_code EC;
dest_asm_ptr = new(std::nothrow) raw_fd_ostream(asm_filename, EC, sys::fs::F_None);
dest_asm_ptr = new(std::nothrow) raw_fd_ostream(asm_filename, EC, sys::fs::OF_None);
if (EC) {
*error_message = strdup((const char *)StringRef(EC.message()).bytes_begin());
return true;
@ -248,7 +244,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
}
if (bin_filename) {
std::error_code EC;
dest_bin_ptr = new(std::nothrow) raw_fd_ostream(bin_filename, EC, sys::fs::F_None);
dest_bin_ptr = new(std::nothrow) raw_fd_ostream(bin_filename, EC, sys::fs::OF_None);
if (EC) {
*error_message = strdup((const char *)StringRef(EC.message()).bytes_begin());
return true;
@ -256,7 +252,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
}
if (bitcode_filename) {
std::error_code EC;
dest_bitcode_ptr = new(std::nothrow) raw_fd_ostream(bitcode_filename, EC, sys::fs::F_None);
dest_bitcode_ptr = new(std::nothrow) raw_fd_ostream(bitcode_filename, EC, sys::fs::OF_None);
if (EC) {
*error_message = strdup((const char *)StringRef(EC.message()).bytes_begin());
return true;
@ -292,7 +288,7 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
StandardInstrumentations std_instrumentations(false);
std_instrumentations.registerCallbacks(instr_callbacks);
PassBuilder pass_builder(false, &target_machine, pipeline_opts,
PassBuilder pass_builder(&target_machine, pipeline_opts,
None, &instr_callbacks);
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
@ -1020,29 +1016,6 @@ void ZigLLVMSetModuleCodeModel(LLVMModuleRef module, LLVMCodeModel code_model) {
assert(!JIT);
}
static AtomicOrdering mapFromLLVMOrdering(LLVMAtomicOrdering Ordering) {
switch (Ordering) {
case LLVMAtomicOrderingNotAtomic: return AtomicOrdering::NotAtomic;
case LLVMAtomicOrderingUnordered: return AtomicOrdering::Unordered;
case LLVMAtomicOrderingMonotonic: return AtomicOrdering::Monotonic;
case LLVMAtomicOrderingAcquire: return AtomicOrdering::Acquire;
case LLVMAtomicOrderingRelease: return AtomicOrdering::Release;
case LLVMAtomicOrderingAcquireRelease: return AtomicOrdering::AcquireRelease;
case LLVMAtomicOrderingSequentiallyConsistent: return AtomicOrdering::SequentiallyConsistent;
}
abort();
}
LLVMValueRef ZigLLVMBuildCmpXchg(LLVMBuilderRef builder, LLVMValueRef ptr, LLVMValueRef cmp,
LLVMValueRef new_val, LLVMAtomicOrdering success_ordering,
LLVMAtomicOrdering failure_ordering, bool is_weak)
{
AtomicCmpXchgInst *inst = unwrap(builder)->CreateAtomicCmpXchg(unwrap(ptr), unwrap(cmp),
unwrap(new_val), mapFromLLVMOrdering(success_ordering), mapFromLLVMOrdering(failure_ordering));
inst->setWeak(is_weak);
return wrap(inst);
}
LLVMValueRef ZigLLVMBuildNSWShl(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS,
const char *name)
{
@ -1237,38 +1210,6 @@ int ZigLLDLinkWasm(int argc, const char **argv, bool can_exit_early) {
return lld::wasm::link(args, can_exit_early, llvm::outs(), llvm::errs());
}
static AtomicRMWInst::BinOp toLLVMRMWBinOp(enum ZigLLVM_AtomicRMWBinOp BinOp) {
switch (BinOp) {
default:
case ZigLLVMAtomicRMWBinOpXchg: return AtomicRMWInst::Xchg;
case ZigLLVMAtomicRMWBinOpAdd: return AtomicRMWInst::Add;
case ZigLLVMAtomicRMWBinOpSub: return AtomicRMWInst::Sub;
case ZigLLVMAtomicRMWBinOpAnd: return AtomicRMWInst::And;
case ZigLLVMAtomicRMWBinOpNand: return AtomicRMWInst::Nand;
case ZigLLVMAtomicRMWBinOpOr: return AtomicRMWInst::Or;
case ZigLLVMAtomicRMWBinOpXor: return AtomicRMWInst::Xor;
case ZigLLVMAtomicRMWBinOpMax: return AtomicRMWInst::Max;
case ZigLLVMAtomicRMWBinOpMin: return AtomicRMWInst::Min;
case ZigLLVMAtomicRMWBinOpUMax: return AtomicRMWInst::UMax;
case ZigLLVMAtomicRMWBinOpUMin: return AtomicRMWInst::UMin;
case ZigLLVMAtomicRMWBinOpFAdd: return AtomicRMWInst::FAdd;
case ZigLLVMAtomicRMWBinOpFSub: return AtomicRMWInst::FSub;
}
}
static AtomicOrdering toLLVMOrdering(LLVMAtomicOrdering Ordering) {
switch (Ordering) {
default:
case LLVMAtomicOrderingNotAtomic: return AtomicOrdering::NotAtomic;
case LLVMAtomicOrderingUnordered: return AtomicOrdering::Unordered;
case LLVMAtomicOrderingMonotonic: return AtomicOrdering::Monotonic;
case LLVMAtomicOrderingAcquire: return AtomicOrdering::Acquire;
case LLVMAtomicOrderingRelease: return AtomicOrdering::Release;
case LLVMAtomicOrderingAcquireRelease: return AtomicOrdering::AcquireRelease;
case LLVMAtomicOrderingSequentiallyConsistent: return AtomicOrdering::SequentiallyConsistent;
}
}
inline LLVMAttributeRef wrap(Attribute Attr) {
return reinterpret_cast<LLVMAttributeRef>(Attr.getRawPointer());
}
@ -1277,16 +1218,6 @@ inline Attribute unwrap(LLVMAttributeRef Attr) {
return Attribute::fromRawPointer(Attr);
}
LLVMValueRef ZigLLVMBuildAtomicRMW(LLVMBuilderRef B, enum ZigLLVM_AtomicRMWBinOp op,
LLVMValueRef PTR, LLVMValueRef Val,
LLVMAtomicOrdering ordering, LLVMBool singleThread)
{
AtomicRMWInst::BinOp intop = toLLVMRMWBinOp(op);
return wrap(unwrap(B)->CreateAtomicRMW(intop, unwrap(PTR),
unwrap(Val), toLLVMOrdering(ordering),
singleThread ? SyncScope::SingleThread : SyncScope::System));
}
LLVMValueRef ZigLLVMBuildAndReduce(LLVMBuilderRef B, LLVMValueRef Val) {
return wrap(unwrap(B)->CreateAndReduce(unwrap(Val)));
}
@ -1343,6 +1274,7 @@ static_assert((Triple::ArchType)ZigLLVM_bpfel == Triple::bpfel, "");
static_assert((Triple::ArchType)ZigLLVM_bpfeb == Triple::bpfeb, "");
static_assert((Triple::ArchType)ZigLLVM_csky == Triple::csky, "");
static_assert((Triple::ArchType)ZigLLVM_hexagon == Triple::hexagon, "");
static_assert((Triple::ArchType)ZigLLVM_m68k == Triple::m68k, "");
static_assert((Triple::ArchType)ZigLLVM_mips == Triple::mips, "");
static_assert((Triple::ArchType)ZigLLVM_mipsel == Triple::mipsel, "");
static_assert((Triple::ArchType)ZigLLVM_mips64 == Triple::mips64, "");
@ -1459,6 +1391,7 @@ static_assert((Triple::EnvironmentType)ZigLLVM_Android == Triple::Android, "");
static_assert((Triple::EnvironmentType)ZigLLVM_Musl == Triple::Musl, "");
static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABI == Triple::MuslEABI, "");
static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABIHF == Triple::MuslEABIHF, "");
static_assert((Triple::EnvironmentType)ZigLLVM_MuslX32 == Triple::MuslX32, "");
static_assert((Triple::EnvironmentType)ZigLLVM_MSVC == Triple::MSVC, "");
static_assert((Triple::EnvironmentType)ZigLLVM_Itanium == Triple::Itanium, "");
static_assert((Triple::EnvironmentType)ZigLLVM_Cygnus == Triple::Cygnus, "");

View File

@ -137,10 +137,6 @@ ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildUMin(LLVMBuilderRef builder, LLVMValueRef
ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildSMax(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS, const char* name);
ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildSMin(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS, const char* name);
ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildCmpXchg(LLVMBuilderRef builder, LLVMValueRef ptr, LLVMValueRef cmp,
LLVMValueRef new_val, LLVMAtomicOrdering success_ordering,
LLVMAtomicOrdering failure_ordering, bool is_weak);
ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildNSWShl(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS,
const char *name);
ZIG_EXTERN_C LLVMValueRef ZigLLVMBuildNUWShl(LLVMBuilderRef builder, LLVMValueRef LHS, LLVMValueRef RHS,
@ -303,6 +299,7 @@ enum ZigLLVM_ArchType {
ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
ZigLLVM_csky, // CSKY: csky
ZigLLVM_hexagon, // Hexagon: hexagon
ZigLLVM_m68k, // M68k: Motorola 680x0 family
ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6
ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el
ZigLLVM_mips64, // MIPS64: mips64, mips64r6, mipsn32, mipsn32r6
@ -345,7 +342,6 @@ enum ZigLLVM_ArchType {
ZigLLVM_renderscript32, // 32-bit RenderScript
ZigLLVM_renderscript64, // 64-bit RenderScript
ZigLLVM_ve, // NEC SX-Aurora Vector Engine
ZigLLVM_LastArchType = ZigLLVM_ve
};
@ -430,6 +426,7 @@ enum ZigLLVM_EnvironmentType {
ZigLLVM_Musl,
ZigLLVM_MuslEABI,
ZigLLVM_MuslEABIHF,
ZigLLVM_MuslX32,
ZigLLVM_MSVC,
ZigLLVM_Itanium,
@ -437,7 +434,6 @@ enum ZigLLVM_EnvironmentType {
ZigLLVM_CoreCLR,
ZigLLVM_Simulator, // Simulator variants of other systems, e.g., Apple's iOS
ZigLLVM_MacABI, // Mac Catalyst variant of Apple's iOS deployment target.
ZigLLVM_LastEnvironmentType = ZigLLVM_MacABI
};
@ -452,26 +448,6 @@ enum ZigLLVM_ObjectFormatType {
ZigLLVM_XCOFF,
};
enum ZigLLVM_AtomicRMWBinOp {
ZigLLVMAtomicRMWBinOpXchg,
ZigLLVMAtomicRMWBinOpAdd,
ZigLLVMAtomicRMWBinOpSub,
ZigLLVMAtomicRMWBinOpAnd,
ZigLLVMAtomicRMWBinOpNand,
ZigLLVMAtomicRMWBinOpOr,
ZigLLVMAtomicRMWBinOpXor,
ZigLLVMAtomicRMWBinOpMax,
ZigLLVMAtomicRMWBinOpMin,
ZigLLVMAtomicRMWBinOpUMax,
ZigLLVMAtomicRMWBinOpUMin,
ZigLLVMAtomicRMWBinOpFAdd,
ZigLLVMAtomicRMWBinOpFSub,
};
LLVMValueRef ZigLLVMBuildAtomicRMW(LLVMBuilderRef B, enum ZigLLVM_AtomicRMWBinOp op,
LLVMValueRef PTR, LLVMValueRef Val,
LLVMAtomicOrdering ordering, LLVMBool singleThread);
LLVMValueRef ZigLLVMBuildAndReduce(LLVMBuilderRef B, LLVMValueRef Val);
LLVMValueRef ZigLLVMBuildOrReduce(LLVMBuilderRef B, LLVMValueRef Val);
LLVMValueRef ZigLLVMBuildXorReduce(LLVMBuilderRef B, LLVMValueRef Val);