update LLVM C++ API wrappers from llvm 10 to 11

This commit is contained in:
Andrew Kelley 2020-07-24 16:49:57 -07:00
parent cd91e17b73
commit c8ea8cf5df
4 changed files with 247 additions and 24 deletions

View File

@ -154,15 +154,19 @@ pub const ZigClangTypeClass = extern enum {
Auto,
DeducedTemplateSpecialization,
DependentAddressSpace,
DependentExtInt,
DependentName,
DependentSizedExtVector,
DependentTemplateSpecialization,
DependentVector,
Elaborated,
ExtInt,
FunctionNoProto,
FunctionProto,
InjectedClassName,
MacroQualified,
ConstantMatrix,
DependentSizedMatrix,
MemberPointer,
ObjCObjectPointer,
ObjCObject,
@ -215,6 +219,7 @@ const ZigClangStmtClass = extern enum {
OMPCancelDirectiveClass,
OMPCancellationPointDirectiveClass,
OMPCriticalDirectiveClass,
OMPDepobjDirectiveClass,
OMPFlushDirectiveClass,
OMPDistributeDirectiveClass,
OMPDistributeParallelForDirectiveClass,
@ -246,6 +251,7 @@ const ZigClangStmtClass = extern enum {
OMPParallelDirectiveClass,
OMPParallelMasterDirectiveClass,
OMPParallelSectionsDirectiveClass,
OMPScanDirectiveClass,
OMPSectionDirectiveClass,
OMPSectionsDirectiveClass,
OMPSingleDirectiveClass,
@ -320,6 +326,7 @@ const ZigClangStmtClass = extern enum {
BuiltinBitCastExprClass,
CStyleCastExprClass,
CXXFunctionalCastExprClass,
CXXAddrspaceCastExprClass,
CXXConstCastExprClass,
CXXDynamicCastExprClass,
CXXReinterpretCastExprClass,
@ -355,9 +362,12 @@ const ZigClangStmtClass = extern enum {
MSPropertyRefExprClass,
MSPropertySubscriptExprClass,
MaterializeTemporaryExprClass,
MatrixSubscriptExprClass,
MemberExprClass,
NoInitExprClass,
OMPArraySectionExprClass,
OMPArrayShapingExprClass,
OMPIteratorExprClass,
ObjCArrayLiteralClass,
ObjCAvailabilityCheckExprClass,
ObjCBoolLiteralExprClass,
@ -382,6 +392,7 @@ const ZigClangStmtClass = extern enum {
ParenListExprClass,
PredefinedExprClass,
PseudoObjectExprClass,
RecoveryExprClass,
RequiresExprClass,
ShuffleVectorExprClass,
SizeOfPackExprClass,
@ -549,6 +560,7 @@ pub const ZigClangDeclKind = extern enum {
VarTemplatePartialSpecialization,
EnumConstant,
IndirectField,
MSGuid,
OMPDeclareMapper,
OMPDeclareReduction,
UnresolvedUsingValue,
@ -623,6 +635,43 @@ pub const ZigClangBuiltinTypeKind = extern enum {
SveFloat16,
SveFloat32,
SveFloat64,
SveBFloat16,
SveInt8x2,
SveInt16x2,
SveInt32x2,
SveInt64x2,
SveUint8x2,
SveUint16x2,
SveUint32x2,
SveUint64x2,
SveFloat16x2,
SveFloat32x2,
SveFloat64x2,
SveBFloat16x2,
SveInt8x3,
SveInt16x3,
SveInt32x3,
SveInt64x3,
SveUint8x3,
SveUint16x3,
SveUint32x3,
SveUint64x3,
SveFloat16x3,
SveFloat32x3,
SveFloat64x3,
SveBFloat16x3,
SveInt8x4,
SveInt16x4,
SveInt32x4,
SveInt64x4,
SveUint8x4,
SveUint16x4,
SveUint32x4,
SveUint64x4,
SveFloat16x4,
SveFloat32x4,
SveFloat64x4,
SveBFloat16x4,
SveBool,
Void,
Bool,
@ -674,6 +723,7 @@ pub const ZigClangBuiltinTypeKind = extern enum {
Double,
LongDouble,
Float16,
BFloat16,
Float128,
NullPtr,
ObjCId,
@ -691,7 +741,10 @@ pub const ZigClangBuiltinTypeKind = extern enum {
UnknownAny,
BuiltinFn,
ARCUnbridgedCast,
IncompleteMatrixIdx,
OMPArraySection,
OMPArrayShaping,
OMPIterator,
};
pub const ZigClangCallingConv = extern enum {
@ -724,12 +777,14 @@ pub const ZigClangStorageClass = extern enum {
Register,
};
pub const ZigClangAPFloat_roundingMode = extern enum {
NearestTiesToEven,
TowardPositive,
TowardNegative,
TowardZero,
NearestTiesToAway,
pub const ZigClangAPFloat_roundingMode = extern enum(i8) {
TowardZero = 0,
NearestTiesToEven = 1,
TowardPositive = 2,
TowardNegative = 3,
NearestTiesToAway = 4,
Dynamic = 7,
Invalid = -1,
};
pub const ZigClangStringLiteral_StringKind = extern enum {

View File

@ -288,6 +288,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
case clang::Type::DependentSizedArray:
case clang::Type::DependentSizedExtVector:
case clang::Type::DependentAddressSpace:
case clang::Type::DependentExtInt:
case clang::Type::Vector:
case clang::Type::DependentVector:
case clang::Type::ExtVector:
@ -297,6 +298,8 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
case clang::Type::Paren:
case clang::Type::Typedef:
case clang::Type::MacroQualified:
case clang::Type::ConstantMatrix:
case clang::Type::DependentSizedMatrix:
case clang::Type::Adjusted:
case clang::Type::Decayed:
case clang::Type::TypeOfExpr:
@ -306,6 +309,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
case clang::Type::Record:
case clang::Type::Enum:
case clang::Type::Elaborated:
case clang::Type::ExtInt:
case clang::Type::Attributed:
case clang::Type::TemplateTypeParm:
case clang::Type::SubstTemplateTypeParm:
@ -342,15 +346,19 @@ static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decl
static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");
static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentExtInt == clang::Type::DependentExtInt, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedExtVector == clang::Type::DependentSizedExtVector, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Type::DependentVector, "");
static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
static_assert((clang::Type::TypeClass)ZigClangType_ExtInt == clang::Type::ExtInt, "");
static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
static_assert((clang::Type::TypeClass)ZigClangType_ConstantMatrix == clang::Type::ConstantMatrix, "");
static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedMatrix == clang::Type::DependentSizedMatrix, "");
static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");
static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");
static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");
@ -404,6 +412,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_OMPCancelDirectiveClass:
case ZigClangStmt_OMPCancellationPointDirectiveClass:
case ZigClangStmt_OMPCriticalDirectiveClass:
case ZigClangStmt_OMPDepobjDirectiveClass:
case ZigClangStmt_OMPFlushDirectiveClass:
case ZigClangStmt_OMPDistributeDirectiveClass:
case ZigClangStmt_OMPDistributeParallelForDirectiveClass:
@ -435,6 +444,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_OMPParallelDirectiveClass:
case ZigClangStmt_OMPParallelMasterDirectiveClass:
case ZigClangStmt_OMPParallelSectionsDirectiveClass:
case ZigClangStmt_OMPScanDirectiveClass:
case ZigClangStmt_OMPSectionDirectiveClass:
case ZigClangStmt_OMPSectionsDirectiveClass:
case ZigClangStmt_OMPSingleDirectiveClass:
@ -509,6 +519,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_BuiltinBitCastExprClass:
case ZigClangStmt_CStyleCastExprClass:
case ZigClangStmt_CXXFunctionalCastExprClass:
case ZigClangStmt_CXXAddrspaceCastExprClass:
case ZigClangStmt_CXXConstCastExprClass:
case ZigClangStmt_CXXDynamicCastExprClass:
case ZigClangStmt_CXXReinterpretCastExprClass:
@ -544,9 +555,12 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_MSPropertyRefExprClass:
case ZigClangStmt_MSPropertySubscriptExprClass:
case ZigClangStmt_MaterializeTemporaryExprClass:
case ZigClangStmt_MatrixSubscriptExprClass:
case ZigClangStmt_MemberExprClass:
case ZigClangStmt_NoInitExprClass:
case ZigClangStmt_OMPArraySectionExprClass:
case ZigClangStmt_OMPArrayShapingExprClass:
case ZigClangStmt_OMPIteratorExprClass:
case ZigClangStmt_ObjCArrayLiteralClass:
case ZigClangStmt_ObjCAvailabilityCheckExprClass:
case ZigClangStmt_ObjCBoolLiteralExprClass:
@ -571,6 +585,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
case ZigClangStmt_ParenListExprClass:
case ZigClangStmt_PredefinedExprClass:
case ZigClangStmt_PseudoObjectExprClass:
case ZigClangStmt_RecoveryExprClass:
case ZigClangStmt_RequiresExprClass:
case ZigClangStmt_ShuffleVectorExprClass:
case ZigClangStmt_SizeOfPackExprClass:
@ -590,7 +605,6 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
}
}
//static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_GCCAsmStmtClass == clang::Stmt::GCCAsmStmtClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSAsmStmtClass == clang::Stmt::MSAsmStmtClass, "");
@ -616,6 +630,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == c
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_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
@ -647,6 +662,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == c
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterDirectiveClass == clang::Stmt::OMPParallelMasterDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelSectionsDirectiveClass == clang::Stmt::OMPParallelSectionsDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPScanDirectiveClass == clang::Stmt::OMPScanDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionDirectiveClass == clang::Stmt::OMPSectionDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionsDirectiveClass == clang::Stmt::OMPSectionsDirectiveClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSingleDirectiveClass == clang::Stmt::OMPSingleDirectiveClass, "");
@ -721,6 +737,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_UserDefinedLiteralClass == cl
static_assert((clang::Stmt::StmtClass)ZigClangStmt_BuiltinBitCastExprClass == clang::Stmt::BuiltinBitCastExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFunctionalCastExprClass == clang::Stmt::CXXFunctionalCastExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXAddrspaceCastExprClass == clang::Stmt::CXXAddrspaceCastExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstCastExprClass == clang::Stmt::CXXConstCastExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDynamicCastExprClass == clang::Stmt::CXXDynamicCastExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXReinterpretCastExprClass == clang::Stmt::CXXReinterpretCastExprClass, "");
@ -756,9 +773,12 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_LambdaExprClass == clang::Stm
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertyRefExprClass == clang::Stmt::MSPropertyRefExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertySubscriptExprClass == clang::Stmt::MSPropertySubscriptExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MaterializeTemporaryExprClass == clang::Stmt::MaterializeTemporaryExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MatrixSubscriptExprClass == clang::Stmt::MatrixSubscriptExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArrayShapingExprClass == clang::Stmt::OMPArrayShapingExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPIteratorExprClass == clang::Stmt::OMPIteratorExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClass == clang::Stmt::ObjCAvailabilityCheckExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoolLiteralExprClass == clang::Stmt::ObjCBoolLiteralExprClass, "");
@ -783,6 +803,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");
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_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
@ -905,6 +926,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
case clang::Decl::VarTemplatePartialSpecialization:
case clang::Decl::EnumConstant:
case clang::Decl::IndirectField:
case clang::Decl::MSGuid:
case clang::Decl::OMPDeclareMapper:
case clang::Decl::OMPDeclareReduction:
case clang::Decl::UnresolvedUsingValue:
@ -989,6 +1011,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclVarTemplateSpecialization == clang:
static_assert((clang::Decl::Kind)ZigClangDeclVarTemplatePartialSpecialization == clang::Decl::VarTemplatePartialSpecialization, "");
static_assert((clang::Decl::Kind)ZigClangDeclEnumConstant == clang::Decl::EnumConstant, "");
static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::IndirectField, "");
static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, "");
static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");
static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");
static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");
@ -1062,6 +1085,43 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
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::Void:
case clang::BuiltinType::Bool:
@ -1113,6 +1173,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
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:
@ -1130,7 +1191,10 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
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:
break;
}
}
@ -1194,6 +1258,43 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64 == clang::B
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::BuiltinType::SveFloat16, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16 == clang::BuiltinType::SveBFloat16, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x2 == clang::BuiltinType::SveInt8x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x2 == clang::BuiltinType::SveInt16x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x2 == clang::BuiltinType::SveInt32x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64x2 == clang::BuiltinType::SveInt64x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8x2 == clang::BuiltinType::SveUint8x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16x2 == clang::BuiltinType::SveUint16x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32x2 == clang::BuiltinType::SveUint32x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64x2 == clang::BuiltinType::SveUint64x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x2 == clang::BuiltinType::SveFloat16x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x2 == clang::BuiltinType::SveFloat32x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x2 == clang::BuiltinType::SveFloat64x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x2 == clang::BuiltinType::SveBFloat16x2, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x3 == clang::BuiltinType::SveInt8x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x3 == clang::BuiltinType::SveInt16x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x3 == clang::BuiltinType::SveInt32x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64x3 == clang::BuiltinType::SveInt64x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8x3 == clang::BuiltinType::SveUint8x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16x3 == clang::BuiltinType::SveUint16x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32x3 == clang::BuiltinType::SveUint32x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64x3 == clang::BuiltinType::SveUint64x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x3 == clang::BuiltinType::SveFloat16x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x3 == clang::BuiltinType::SveFloat32x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x3 == clang::BuiltinType::SveFloat64x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x3 == clang::BuiltinType::SveBFloat16x3, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x4 == clang::BuiltinType::SveInt8x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x4 == clang::BuiltinType::SveInt16x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x4 == clang::BuiltinType::SveInt32x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64x4 == clang::BuiltinType::SveInt64x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8x4 == clang::BuiltinType::SveUint8x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16x4 == clang::BuiltinType::SveUint16x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32x4 == clang::BuiltinType::SveUint32x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64x4 == clang::BuiltinType::SveUint64x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x4 == clang::BuiltinType::SveFloat16x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x4 == clang::BuiltinType::SveFloat32x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
@ -1245,6 +1346,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat == clang::Built
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeDouble == clang::BuiltinType::Double, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeLongDouble == clang::BuiltinType::LongDouble, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat16 == clang::BuiltinType::Float16, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBFloat16 == clang::BuiltinType::BFloat16, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat128 == clang::BuiltinType::Float128, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeNullPtr == clang::BuiltinType::NullPtr, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeObjCId == clang::BuiltinType::ObjCId, "");
@ -1262,7 +1364,10 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypePseudoObject == clang
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeUnknownAny == clang::BuiltinType::UnknownAny, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBuiltinFn == clang::BuiltinType::BuiltinFn, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeARCUnbridgedCast == clang::BuiltinType::ARCUnbridgedCast, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeIncompleteMatrixIdx == clang::BuiltinType::IncompleteMatrixIdx, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArraySection == clang::BuiltinType::OMPArraySection, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArrayShaping == clang::BuiltinType::OMPArrayShaping, "");
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPIterator == clang::BuiltinType::OMPIterator, "");
void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {
switch (x) {
@ -1326,21 +1431,25 @@ static_assert((clang::StorageClass)ZigClangStorageClass_PrivateExtern == clang::
static_assert((clang::StorageClass)ZigClangStorageClass_Auto == clang::SC_Auto, "");
static_assert((clang::StorageClass)ZigClangStorageClass_Register == clang::SC_Register, "");
void ZigClang_detect_enum_RoundingMode(llvm::APFloat::roundingMode x) {
void ZigClang_detect_enum_RoundingMode(llvm::RoundingMode x) {
switch (x) {
case llvm::APFloat::rmNearestTiesToEven:
case llvm::APFloat::rmTowardPositive:
case llvm::APFloat::rmTowardNegative:
case llvm::APFloat::rmTowardZero:
case llvm::APFloat::rmNearestTiesToAway:
case llvm::RoundingMode::TowardZero:
case llvm::RoundingMode::NearestTiesToEven:
case llvm::RoundingMode::TowardPositive:
case llvm::RoundingMode::TowardNegative:
case llvm::RoundingMode::NearestTiesToAway:
case llvm::RoundingMode::Dynamic:
case llvm::RoundingMode::Invalid:
break;
}
}
static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_NearestTiesToEven == llvm::APFloat::rmNearestTiesToEven, "");
static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_TowardPositive == llvm::APFloat::rmTowardPositive, "");
static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_TowardNegative == llvm::APFloat::rmTowardNegative, "");
static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_TowardZero == llvm::APFloat::rmTowardZero, "");
static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_NearestTiesToAway == llvm::APFloat::rmNearestTiesToAway, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_NearestTiesToEven == llvm::RoundingMode::NearestTiesToEven, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_TowardPositive == llvm::RoundingMode::TowardPositive, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_TowardNegative == llvm::RoundingMode::TowardNegative, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_TowardZero == llvm::RoundingMode::TowardZero, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_NearestTiesToAway == llvm::RoundingMode::NearestTiesToAway, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_Dynamic == llvm::RoundingMode::Dynamic, "");
static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_Invalid == llvm::RoundingMode::Invalid, "");
void ZigClang_detect_enum_StringKind(clang::StringLiteral::StringKind x) {
switch (x) {

View File

@ -236,15 +236,19 @@ enum ZigClangTypeClass {
ZigClangType_Auto,
ZigClangType_DeducedTemplateSpecialization,
ZigClangType_DependentAddressSpace,
ZigClangType_DependentExtInt,
ZigClangType_DependentName,
ZigClangType_DependentSizedExtVector,
ZigClangType_DependentTemplateSpecialization,
ZigClangType_DependentVector,
ZigClangType_Elaborated,
ZigClangType_ExtInt,
ZigClangType_FunctionNoProto,
ZigClangType_FunctionProto,
ZigClangType_InjectedClassName,
ZigClangType_MacroQualified,
ZigClangType_ConstantMatrix,
ZigClangType_DependentSizedMatrix,
ZigClangType_MemberPointer,
ZigClangType_ObjCObjectPointer,
ZigClangType_ObjCObject,
@ -297,6 +301,7 @@ enum ZigClangStmtClass {
ZigClangStmt_OMPCancelDirectiveClass,
ZigClangStmt_OMPCancellationPointDirectiveClass,
ZigClangStmt_OMPCriticalDirectiveClass,
ZigClangStmt_OMPDepobjDirectiveClass,
ZigClangStmt_OMPFlushDirectiveClass,
ZigClangStmt_OMPDistributeDirectiveClass,
ZigClangStmt_OMPDistributeParallelForDirectiveClass,
@ -328,6 +333,7 @@ enum ZigClangStmtClass {
ZigClangStmt_OMPParallelDirectiveClass,
ZigClangStmt_OMPParallelMasterDirectiveClass,
ZigClangStmt_OMPParallelSectionsDirectiveClass,
ZigClangStmt_OMPScanDirectiveClass,
ZigClangStmt_OMPSectionDirectiveClass,
ZigClangStmt_OMPSectionsDirectiveClass,
ZigClangStmt_OMPSingleDirectiveClass,
@ -402,6 +408,7 @@ enum ZigClangStmtClass {
ZigClangStmt_BuiltinBitCastExprClass,
ZigClangStmt_CStyleCastExprClass,
ZigClangStmt_CXXFunctionalCastExprClass,
ZigClangStmt_CXXAddrspaceCastExprClass,
ZigClangStmt_CXXConstCastExprClass,
ZigClangStmt_CXXDynamicCastExprClass,
ZigClangStmt_CXXReinterpretCastExprClass,
@ -437,9 +444,12 @@ enum ZigClangStmtClass {
ZigClangStmt_MSPropertyRefExprClass,
ZigClangStmt_MSPropertySubscriptExprClass,
ZigClangStmt_MaterializeTemporaryExprClass,
ZigClangStmt_MatrixSubscriptExprClass,
ZigClangStmt_MemberExprClass,
ZigClangStmt_NoInitExprClass,
ZigClangStmt_OMPArraySectionExprClass,
ZigClangStmt_OMPArrayShapingExprClass,
ZigClangStmt_OMPIteratorExprClass,
ZigClangStmt_ObjCArrayLiteralClass,
ZigClangStmt_ObjCAvailabilityCheckExprClass,
ZigClangStmt_ObjCBoolLiteralExprClass,
@ -464,6 +474,7 @@ enum ZigClangStmtClass {
ZigClangStmt_ParenListExprClass,
ZigClangStmt_PredefinedExprClass,
ZigClangStmt_PseudoObjectExprClass,
ZigClangStmt_RecoveryExprClass,
ZigClangStmt_RequiresExprClass,
ZigClangStmt_ShuffleVectorExprClass,
ZigClangStmt_SizeOfPackExprClass,
@ -614,6 +625,7 @@ enum ZigClangDeclKind {
ZigClangDeclVarTemplatePartialSpecialization,
ZigClangDeclEnumConstant,
ZigClangDeclIndirectField,
ZigClangDeclMSGuid,
ZigClangDeclOMPDeclareMapper,
ZigClangDeclOMPDeclareReduction,
ZigClangDeclUnresolvedUsingValue,
@ -688,6 +700,43 @@ enum ZigClangBuiltinTypeKind {
ZigClangBuiltinTypeSveFloat16,
ZigClangBuiltinTypeSveFloat32,
ZigClangBuiltinTypeSveFloat64,
ZigClangBuiltinTypeSveBFloat16,
ZigClangBuiltinTypeSveInt8x2,
ZigClangBuiltinTypeSveInt16x2,
ZigClangBuiltinTypeSveInt32x2,
ZigClangBuiltinTypeSveInt64x2,
ZigClangBuiltinTypeSveUint8x2,
ZigClangBuiltinTypeSveUint16x2,
ZigClangBuiltinTypeSveUint32x2,
ZigClangBuiltinTypeSveUint64x2,
ZigClangBuiltinTypeSveFloat16x2,
ZigClangBuiltinTypeSveFloat32x2,
ZigClangBuiltinTypeSveFloat64x2,
ZigClangBuiltinTypeSveBFloat16x2,
ZigClangBuiltinTypeSveInt8x3,
ZigClangBuiltinTypeSveInt16x3,
ZigClangBuiltinTypeSveInt32x3,
ZigClangBuiltinTypeSveInt64x3,
ZigClangBuiltinTypeSveUint8x3,
ZigClangBuiltinTypeSveUint16x3,
ZigClangBuiltinTypeSveUint32x3,
ZigClangBuiltinTypeSveUint64x3,
ZigClangBuiltinTypeSveFloat16x3,
ZigClangBuiltinTypeSveFloat32x3,
ZigClangBuiltinTypeSveFloat64x3,
ZigClangBuiltinTypeSveBFloat16x3,
ZigClangBuiltinTypeSveInt8x4,
ZigClangBuiltinTypeSveInt16x4,
ZigClangBuiltinTypeSveInt32x4,
ZigClangBuiltinTypeSveInt64x4,
ZigClangBuiltinTypeSveUint8x4,
ZigClangBuiltinTypeSveUint16x4,
ZigClangBuiltinTypeSveUint32x4,
ZigClangBuiltinTypeSveUint64x4,
ZigClangBuiltinTypeSveFloat16x4,
ZigClangBuiltinTypeSveFloat32x4,
ZigClangBuiltinTypeSveFloat64x4,
ZigClangBuiltinTypeSveBFloat16x4,
ZigClangBuiltinTypeSveBool,
ZigClangBuiltinTypeVoid,
ZigClangBuiltinTypeBool,
@ -739,6 +788,7 @@ enum ZigClangBuiltinTypeKind {
ZigClangBuiltinTypeDouble,
ZigClangBuiltinTypeLongDouble,
ZigClangBuiltinTypeFloat16,
ZigClangBuiltinTypeBFloat16,
ZigClangBuiltinTypeFloat128,
ZigClangBuiltinTypeNullPtr,
ZigClangBuiltinTypeObjCId,
@ -756,7 +806,10 @@ enum ZigClangBuiltinTypeKind {
ZigClangBuiltinTypeUnknownAny,
ZigClangBuiltinTypeBuiltinFn,
ZigClangBuiltinTypeARCUnbridgedCast,
ZigClangBuiltinTypeIncompleteMatrixIdx,
ZigClangBuiltinTypeOMPArraySection,
ZigClangBuiltinTypeOMPArrayShaping,
ZigClangBuiltinTypeOMPIterator,
};
enum ZigClangCallingConv {
@ -794,11 +847,14 @@ enum ZigClangStorageClass {
/// IEEE-754R 4.3: Rounding-direction attributes.
enum ZigClangAPFloat_roundingMode {
ZigClangAPFloat_roundingMode_NearestTiesToEven,
ZigClangAPFloat_roundingMode_TowardPositive,
ZigClangAPFloat_roundingMode_TowardNegative,
ZigClangAPFloat_roundingMode_TowardZero,
ZigClangAPFloat_roundingMode_NearestTiesToAway,
ZigClangAPFloat_roundingMode_TowardZero = 0,
ZigClangAPFloat_roundingMode_NearestTiesToEven = 1,
ZigClangAPFloat_roundingMode_TowardPositive = 2,
ZigClangAPFloat_roundingMode_TowardNegative = 3,
ZigClangAPFloat_roundingMode_NearestTiesToAway = 4,
ZigClangAPFloat_roundingMode_Dynamic = 7,
ZigClangAPFloat_roundingMode_Invalid = -1,
};
enum ZigClangStringLiteral_StringKind {

View File

@ -39,6 +39,7 @@
#include <llvm/Object/COFFModuleDefinition.h>
#include <llvm/PassRegistry.h>
#include <llvm/Support/CommandLine.h>
#include <llvm/Support/Host.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Support/TargetParser.h>
#include <llvm/Support/Timer.h>
@ -308,7 +309,9 @@ ZIG_EXTERN_C LLVMTypeRef ZigLLVMTokenTypeInContext(LLVMContextRef context_ref) {
LLVMValueRef ZigLLVMBuildCall(LLVMBuilderRef B, LLVMValueRef Fn, LLVMValueRef *Args,
unsigned NumArgs, ZigLLVM_CallingConv CC, ZigLLVM_CallAttr attr, const char *Name)
{
CallInst *call_inst = CallInst::Create(unwrap(Fn), makeArrayRef(unwrap(Args), NumArgs), Name);
Value *V = unwrap(Fn);
FunctionType *FnT = cast<FunctionType>(cast<PointerType>(V->getType())->getElementType());
CallInst *call_inst = CallInst::Create(FnT, V, makeArrayRef(unwrap(Args), NumArgs), Name);
call_inst->setCallingConv(static_cast<CallingConv::ID>(CC));
switch (attr) {
case ZigLLVM_CallAttrAuto: