Commit 2f599b655b
Changed files (11)
lib
std
lib/std/target.zig
@@ -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,
src/codegen/llvm/bindings.zig
@@ -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,
src/codegen/llvm.zig
@@ -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,
src/stage1/codegen.cpp
@@ -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), "");
}
src/stage1/target.cpp
@@ -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:
src/clang.zig
@@ -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,
src/target.zig
@@ -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,
src/zig_clang.cpp
@@ -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, "");
src/zig_clang.h
@@ -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))
src/zig_llvm.cpp
@@ -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, "");
src/zig_llvm.h
@@ -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);