mirror of
https://github.com/ziglang/zig.git
synced 2026-02-14 05:20:34 +00:00
update src/ to LLVM 13 rc1 API
This commit is contained in:
parent
a69b86003c
commit
2f599b655b
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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), "");
|
||||
}
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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, "");
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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, "");
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user