Commit c8ea8cf5df
Changed files (4)
src-self-hosted
src/zig_clang.cpp
@@ -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) {
src/zig_clang.h
@@ -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 {
src/zig_llvm.cpp
@@ -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:
src-self-hosted/clang.zig
@@ -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 {