authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-07-24 16:49:57-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-07-24 16:49:57-07:00
logc8ea8cf5df8261995b1e451085e39cd612c9e038
tree48904bad6f45623c4eec6f28081619aca1490894
parentcd91e17b7384fe857c5cf847b106cd0f98cb4d6a

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


4 files changed, 247 insertions(+), 24 deletions(-)

src-self-hosted/clang.zig+61-6
...@@ -154,15 +154,19 @@ pub const ZigClangTypeClass = extern enum {...@@ -154,15 +154,19 @@ pub const ZigClangTypeClass = extern enum {
154 Auto,154 Auto,
155 DeducedTemplateSpecialization,155 DeducedTemplateSpecialization,
156 DependentAddressSpace,156 DependentAddressSpace,
157 DependentExtInt,
157 DependentName,158 DependentName,
158 DependentSizedExtVector,159 DependentSizedExtVector,
159 DependentTemplateSpecialization,160 DependentTemplateSpecialization,
160 DependentVector,161 DependentVector,
161 Elaborated,162 Elaborated,
163 ExtInt,
162 FunctionNoProto,164 FunctionNoProto,
163 FunctionProto,165 FunctionProto,
164 InjectedClassName,166 InjectedClassName,
165 MacroQualified,167 MacroQualified,
168 ConstantMatrix,
169 DependentSizedMatrix,
166 MemberPointer,170 MemberPointer,
167 ObjCObjectPointer,171 ObjCObjectPointer,
168 ObjCObject,172 ObjCObject,
...@@ -215,6 +219,7 @@ const ZigClangStmtClass = extern enum {...@@ -215,6 +219,7 @@ const ZigClangStmtClass = extern enum {
215 OMPCancelDirectiveClass,219 OMPCancelDirectiveClass,
216 OMPCancellationPointDirectiveClass,220 OMPCancellationPointDirectiveClass,
217 OMPCriticalDirectiveClass,221 OMPCriticalDirectiveClass,
222 OMPDepobjDirectiveClass,
218 OMPFlushDirectiveClass,223 OMPFlushDirectiveClass,
219 OMPDistributeDirectiveClass,224 OMPDistributeDirectiveClass,
220 OMPDistributeParallelForDirectiveClass,225 OMPDistributeParallelForDirectiveClass,
...@@ -246,6 +251,7 @@ const ZigClangStmtClass = extern enum {...@@ -246,6 +251,7 @@ const ZigClangStmtClass = extern enum {
246 OMPParallelDirectiveClass,251 OMPParallelDirectiveClass,
247 OMPParallelMasterDirectiveClass,252 OMPParallelMasterDirectiveClass,
248 OMPParallelSectionsDirectiveClass,253 OMPParallelSectionsDirectiveClass,
254 OMPScanDirectiveClass,
249 OMPSectionDirectiveClass,255 OMPSectionDirectiveClass,
250 OMPSectionsDirectiveClass,256 OMPSectionsDirectiveClass,
251 OMPSingleDirectiveClass,257 OMPSingleDirectiveClass,
...@@ -320,6 +326,7 @@ const ZigClangStmtClass = extern enum {...@@ -320,6 +326,7 @@ const ZigClangStmtClass = extern enum {
320 BuiltinBitCastExprClass,326 BuiltinBitCastExprClass,
321 CStyleCastExprClass,327 CStyleCastExprClass,
322 CXXFunctionalCastExprClass,328 CXXFunctionalCastExprClass,
329 CXXAddrspaceCastExprClass,
323 CXXConstCastExprClass,330 CXXConstCastExprClass,
324 CXXDynamicCastExprClass,331 CXXDynamicCastExprClass,
325 CXXReinterpretCastExprClass,332 CXXReinterpretCastExprClass,
...@@ -355,9 +362,12 @@ const ZigClangStmtClass = extern enum {...@@ -355,9 +362,12 @@ const ZigClangStmtClass = extern enum {
355 MSPropertyRefExprClass,362 MSPropertyRefExprClass,
356 MSPropertySubscriptExprClass,363 MSPropertySubscriptExprClass,
357 MaterializeTemporaryExprClass,364 MaterializeTemporaryExprClass,
365 MatrixSubscriptExprClass,
358 MemberExprClass,366 MemberExprClass,
359 NoInitExprClass,367 NoInitExprClass,
360 OMPArraySectionExprClass,368 OMPArraySectionExprClass,
369 OMPArrayShapingExprClass,
370 OMPIteratorExprClass,
361 ObjCArrayLiteralClass,371 ObjCArrayLiteralClass,
362 ObjCAvailabilityCheckExprClass,372 ObjCAvailabilityCheckExprClass,
363 ObjCBoolLiteralExprClass,373 ObjCBoolLiteralExprClass,
...@@ -382,6 +392,7 @@ const ZigClangStmtClass = extern enum {...@@ -382,6 +392,7 @@ const ZigClangStmtClass = extern enum {
382 ParenListExprClass,392 ParenListExprClass,
383 PredefinedExprClass,393 PredefinedExprClass,
384 PseudoObjectExprClass,394 PseudoObjectExprClass,
395 RecoveryExprClass,
385 RequiresExprClass,396 RequiresExprClass,
386 ShuffleVectorExprClass,397 ShuffleVectorExprClass,
387 SizeOfPackExprClass,398 SizeOfPackExprClass,
...@@ -549,6 +560,7 @@ pub const ZigClangDeclKind = extern enum {...@@ -549,6 +560,7 @@ pub const ZigClangDeclKind = extern enum {
549 VarTemplatePartialSpecialization,560 VarTemplatePartialSpecialization,
550 EnumConstant,561 EnumConstant,
551 IndirectField,562 IndirectField,
563 MSGuid,
552 OMPDeclareMapper,564 OMPDeclareMapper,
553 OMPDeclareReduction,565 OMPDeclareReduction,
554 UnresolvedUsingValue,566 UnresolvedUsingValue,
...@@ -623,6 +635,43 @@ pub const ZigClangBuiltinTypeKind = extern enum {...@@ -623,6 +635,43 @@ pub const ZigClangBuiltinTypeKind = extern enum {
623 SveFloat16,635 SveFloat16,
624 SveFloat32,636 SveFloat32,
625 SveFloat64,637 SveFloat64,
638 SveBFloat16,
639 SveInt8x2,
640 SveInt16x2,
641 SveInt32x2,
642 SveInt64x2,
643 SveUint8x2,
644 SveUint16x2,
645 SveUint32x2,
646 SveUint64x2,
647 SveFloat16x2,
648 SveFloat32x2,
649 SveFloat64x2,
650 SveBFloat16x2,
651 SveInt8x3,
652 SveInt16x3,
653 SveInt32x3,
654 SveInt64x3,
655 SveUint8x3,
656 SveUint16x3,
657 SveUint32x3,
658 SveUint64x3,
659 SveFloat16x3,
660 SveFloat32x3,
661 SveFloat64x3,
662 SveBFloat16x3,
663 SveInt8x4,
664 SveInt16x4,
665 SveInt32x4,
666 SveInt64x4,
667 SveUint8x4,
668 SveUint16x4,
669 SveUint32x4,
670 SveUint64x4,
671 SveFloat16x4,
672 SveFloat32x4,
673 SveFloat64x4,
674 SveBFloat16x4,
626 SveBool,675 SveBool,
627 Void,676 Void,
628 Bool,677 Bool,
...@@ -674,6 +723,7 @@ pub const ZigClangBuiltinTypeKind = extern enum {...@@ -674,6 +723,7 @@ pub const ZigClangBuiltinTypeKind = extern enum {
674 Double,723 Double,
675 LongDouble,724 LongDouble,
676 Float16,725 Float16,
726 BFloat16,
677 Float128,727 Float128,
678 NullPtr,728 NullPtr,
679 ObjCId,729 ObjCId,
...@@ -691,7 +741,10 @@ pub const ZigClangBuiltinTypeKind = extern enum {...@@ -691,7 +741,10 @@ pub const ZigClangBuiltinTypeKind = extern enum {
691 UnknownAny,741 UnknownAny,
692 BuiltinFn,742 BuiltinFn,
693 ARCUnbridgedCast,743 ARCUnbridgedCast,
744 IncompleteMatrixIdx,
694 OMPArraySection,745 OMPArraySection,
746 OMPArrayShaping,
747 OMPIterator,
695};748};
696749
697pub const ZigClangCallingConv = extern enum {750pub const ZigClangCallingConv = extern enum {
...@@ -724,12 +777,14 @@ pub const ZigClangStorageClass = extern enum {...@@ -724,12 +777,14 @@ pub const ZigClangStorageClass = extern enum {
724 Register,777 Register,
725};778};
726779
727pub const ZigClangAPFloat_roundingMode = extern enum {780pub const ZigClangAPFloat_roundingMode = extern enum(i8) {
728 NearestTiesToEven,781 TowardZero = 0,
729 TowardPositive,782 NearestTiesToEven = 1,
730 TowardNegative,783 TowardPositive = 2,
731 TowardZero,784 TowardNegative = 3,
732 NearestTiesToAway,785 NearestTiesToAway = 4,
786 Dynamic = 7,
787 Invalid = -1,
733};788};
734789
735pub const ZigClangStringLiteral_StringKind = extern enum {790pub const ZigClangStringLiteral_StringKind = extern enum {
src/zig_clang.cpp+121-12
...@@ -288,6 +288,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {...@@ -288,6 +288,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
288 case clang::Type::DependentSizedArray:288 case clang::Type::DependentSizedArray:
289 case clang::Type::DependentSizedExtVector:289 case clang::Type::DependentSizedExtVector:
290 case clang::Type::DependentAddressSpace:290 case clang::Type::DependentAddressSpace:
291 case clang::Type::DependentExtInt:
291 case clang::Type::Vector:292 case clang::Type::Vector:
292 case clang::Type::DependentVector:293 case clang::Type::DependentVector:
293 case clang::Type::ExtVector:294 case clang::Type::ExtVector:
...@@ -297,6 +298,8 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {...@@ -297,6 +298,8 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
297 case clang::Type::Paren:298 case clang::Type::Paren:
298 case clang::Type::Typedef:299 case clang::Type::Typedef:
299 case clang::Type::MacroQualified:300 case clang::Type::MacroQualified:
301 case clang::Type::ConstantMatrix:
302 case clang::Type::DependentSizedMatrix:
300 case clang::Type::Adjusted:303 case clang::Type::Adjusted:
301 case clang::Type::Decayed:304 case clang::Type::Decayed:
302 case clang::Type::TypeOfExpr:305 case clang::Type::TypeOfExpr:
...@@ -306,6 +309,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {...@@ -306,6 +309,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
306 case clang::Type::Record:309 case clang::Type::Record:
307 case clang::Type::Enum:310 case clang::Type::Enum:
308 case clang::Type::Elaborated:311 case clang::Type::Elaborated:
312 case clang::Type::ExtInt:
309 case clang::Type::Attributed:313 case clang::Type::Attributed:
310 case clang::Type::TemplateTypeParm:314 case clang::Type::TemplateTypeParm:
311 case clang::Type::SubstTemplateTypeParm:315 case clang::Type::SubstTemplateTypeParm:
...@@ -342,15 +346,19 @@ static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decl...@@ -342,15 +346,19 @@ static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decl
342static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");346static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");
343static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");347static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");
344static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");348static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");
349static_assert((clang::Type::TypeClass)ZigClangType_DependentExtInt == clang::Type::DependentExtInt, "");
345static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");350static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");
346static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedExtVector == clang::Type::DependentSizedExtVector, "");351static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedExtVector == clang::Type::DependentSizedExtVector, "");
347static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");352static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");
348static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Type::DependentVector, "");353static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Type::DependentVector, "");
349static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");354static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
355static_assert((clang::Type::TypeClass)ZigClangType_ExtInt == clang::Type::ExtInt, "");
350static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");356static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
351static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");357static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
352static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");358static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
353static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");359static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
360static_assert((clang::Type::TypeClass)ZigClangType_ConstantMatrix == clang::Type::ConstantMatrix, "");
361static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedMatrix == clang::Type::DependentSizedMatrix, "");
354static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");362static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");
355static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");363static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");
356static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");364static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");
...@@ -404,6 +412,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -404,6 +412,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
404 case ZigClangStmt_OMPCancelDirectiveClass:412 case ZigClangStmt_OMPCancelDirectiveClass:
405 case ZigClangStmt_OMPCancellationPointDirectiveClass:413 case ZigClangStmt_OMPCancellationPointDirectiveClass:
406 case ZigClangStmt_OMPCriticalDirectiveClass:414 case ZigClangStmt_OMPCriticalDirectiveClass:
415 case ZigClangStmt_OMPDepobjDirectiveClass:
407 case ZigClangStmt_OMPFlushDirectiveClass:416 case ZigClangStmt_OMPFlushDirectiveClass:
408 case ZigClangStmt_OMPDistributeDirectiveClass:417 case ZigClangStmt_OMPDistributeDirectiveClass:
409 case ZigClangStmt_OMPDistributeParallelForDirectiveClass:418 case ZigClangStmt_OMPDistributeParallelForDirectiveClass:
...@@ -435,6 +444,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -435,6 +444,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
435 case ZigClangStmt_OMPParallelDirectiveClass:444 case ZigClangStmt_OMPParallelDirectiveClass:
436 case ZigClangStmt_OMPParallelMasterDirectiveClass:445 case ZigClangStmt_OMPParallelMasterDirectiveClass:
437 case ZigClangStmt_OMPParallelSectionsDirectiveClass:446 case ZigClangStmt_OMPParallelSectionsDirectiveClass:
447 case ZigClangStmt_OMPScanDirectiveClass:
438 case ZigClangStmt_OMPSectionDirectiveClass:448 case ZigClangStmt_OMPSectionDirectiveClass:
439 case ZigClangStmt_OMPSectionsDirectiveClass:449 case ZigClangStmt_OMPSectionsDirectiveClass:
440 case ZigClangStmt_OMPSingleDirectiveClass:450 case ZigClangStmt_OMPSingleDirectiveClass:
...@@ -509,6 +519,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -509,6 +519,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
509 case ZigClangStmt_BuiltinBitCastExprClass:519 case ZigClangStmt_BuiltinBitCastExprClass:
510 case ZigClangStmt_CStyleCastExprClass:520 case ZigClangStmt_CStyleCastExprClass:
511 case ZigClangStmt_CXXFunctionalCastExprClass:521 case ZigClangStmt_CXXFunctionalCastExprClass:
522 case ZigClangStmt_CXXAddrspaceCastExprClass:
512 case ZigClangStmt_CXXConstCastExprClass:523 case ZigClangStmt_CXXConstCastExprClass:
513 case ZigClangStmt_CXXDynamicCastExprClass:524 case ZigClangStmt_CXXDynamicCastExprClass:
514 case ZigClangStmt_CXXReinterpretCastExprClass:525 case ZigClangStmt_CXXReinterpretCastExprClass:
...@@ -544,9 +555,12 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -544,9 +555,12 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
544 case ZigClangStmt_MSPropertyRefExprClass:555 case ZigClangStmt_MSPropertyRefExprClass:
545 case ZigClangStmt_MSPropertySubscriptExprClass:556 case ZigClangStmt_MSPropertySubscriptExprClass:
546 case ZigClangStmt_MaterializeTemporaryExprClass:557 case ZigClangStmt_MaterializeTemporaryExprClass:
558 case ZigClangStmt_MatrixSubscriptExprClass:
547 case ZigClangStmt_MemberExprClass:559 case ZigClangStmt_MemberExprClass:
548 case ZigClangStmt_NoInitExprClass:560 case ZigClangStmt_NoInitExprClass:
549 case ZigClangStmt_OMPArraySectionExprClass:561 case ZigClangStmt_OMPArraySectionExprClass:
562 case ZigClangStmt_OMPArrayShapingExprClass:
563 case ZigClangStmt_OMPIteratorExprClass:
550 case ZigClangStmt_ObjCArrayLiteralClass:564 case ZigClangStmt_ObjCArrayLiteralClass:
551 case ZigClangStmt_ObjCAvailabilityCheckExprClass:565 case ZigClangStmt_ObjCAvailabilityCheckExprClass:
552 case ZigClangStmt_ObjCBoolLiteralExprClass:566 case ZigClangStmt_ObjCBoolLiteralExprClass:
...@@ -571,6 +585,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -571,6 +585,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
571 case ZigClangStmt_ParenListExprClass:585 case ZigClangStmt_ParenListExprClass:
572 case ZigClangStmt_PredefinedExprClass:586 case ZigClangStmt_PredefinedExprClass:
573 case ZigClangStmt_PseudoObjectExprClass:587 case ZigClangStmt_PseudoObjectExprClass:
588 case ZigClangStmt_RecoveryExprClass:
574 case ZigClangStmt_RequiresExprClass:589 case ZigClangStmt_RequiresExprClass:
575 case ZigClangStmt_ShuffleVectorExprClass:590 case ZigClangStmt_ShuffleVectorExprClass:
576 case ZigClangStmt_SizeOfPackExprClass:591 case ZigClangStmt_SizeOfPackExprClass:
...@@ -590,7 +605,6 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {...@@ -590,7 +605,6 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
590 }605 }
591}606}
592607
593//static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");
594static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");608static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");
595static_assert((clang::Stmt::StmtClass)ZigClangStmt_GCCAsmStmtClass == clang::Stmt::GCCAsmStmtClass, "");609static_assert((clang::Stmt::StmtClass)ZigClangStmt_GCCAsmStmtClass == clang::Stmt::GCCAsmStmtClass, "");
596static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSAsmStmtClass == clang::Stmt::MSAsmStmtClass, "");610static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSAsmStmtClass == clang::Stmt::MSAsmStmtClass, "");
...@@ -616,6 +630,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == c...@@ -616,6 +630,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == c
616static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");630static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
617static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");631static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");
618static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");632static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
633static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDepobjDirectiveClass == clang::Stmt::OMPDepobjDirectiveClass, "");
619static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");634static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
620static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");635static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
621static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");636static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
...@@ -647,6 +662,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == c...@@ -647,6 +662,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == c
647static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");662static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
648static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterDirectiveClass == clang::Stmt::OMPParallelMasterDirectiveClass, "");663static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelMasterDirectiveClass == clang::Stmt::OMPParallelMasterDirectiveClass, "");
649static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelSectionsDirectiveClass == clang::Stmt::OMPParallelSectionsDirectiveClass, "");664static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelSectionsDirectiveClass == clang::Stmt::OMPParallelSectionsDirectiveClass, "");
665static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPScanDirectiveClass == clang::Stmt::OMPScanDirectiveClass, "");
650static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionDirectiveClass == clang::Stmt::OMPSectionDirectiveClass, "");666static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionDirectiveClass == clang::Stmt::OMPSectionDirectiveClass, "");
651static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionsDirectiveClass == clang::Stmt::OMPSectionsDirectiveClass, "");667static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionsDirectiveClass == clang::Stmt::OMPSectionsDirectiveClass, "");
652static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSingleDirectiveClass == clang::Stmt::OMPSingleDirectiveClass, "");668static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSingleDirectiveClass == clang::Stmt::OMPSingleDirectiveClass, "");
...@@ -721,6 +737,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_UserDefinedLiteralClass == cl...@@ -721,6 +737,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_UserDefinedLiteralClass == cl
721static_assert((clang::Stmt::StmtClass)ZigClangStmt_BuiltinBitCastExprClass == clang::Stmt::BuiltinBitCastExprClass, "");737static_assert((clang::Stmt::StmtClass)ZigClangStmt_BuiltinBitCastExprClass == clang::Stmt::BuiltinBitCastExprClass, "");
722static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, "");738static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, "");
723static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFunctionalCastExprClass == clang::Stmt::CXXFunctionalCastExprClass, "");739static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFunctionalCastExprClass == clang::Stmt::CXXFunctionalCastExprClass, "");
740static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXAddrspaceCastExprClass == clang::Stmt::CXXAddrspaceCastExprClass, "");
724static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstCastExprClass == clang::Stmt::CXXConstCastExprClass, "");741static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstCastExprClass == clang::Stmt::CXXConstCastExprClass, "");
725static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDynamicCastExprClass == clang::Stmt::CXXDynamicCastExprClass, "");742static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDynamicCastExprClass == clang::Stmt::CXXDynamicCastExprClass, "");
726static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXReinterpretCastExprClass == clang::Stmt::CXXReinterpretCastExprClass, "");743static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXReinterpretCastExprClass == clang::Stmt::CXXReinterpretCastExprClass, "");
...@@ -756,9 +773,12 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_LambdaExprClass == clang::Stm...@@ -756,9 +773,12 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_LambdaExprClass == clang::Stm
756static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertyRefExprClass == clang::Stmt::MSPropertyRefExprClass, "");773static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertyRefExprClass == clang::Stmt::MSPropertyRefExprClass, "");
757static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertySubscriptExprClass == clang::Stmt::MSPropertySubscriptExprClass, "");774static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertySubscriptExprClass == clang::Stmt::MSPropertySubscriptExprClass, "");
758static_assert((clang::Stmt::StmtClass)ZigClangStmt_MaterializeTemporaryExprClass == clang::Stmt::MaterializeTemporaryExprClass, "");775static_assert((clang::Stmt::StmtClass)ZigClangStmt_MaterializeTemporaryExprClass == clang::Stmt::MaterializeTemporaryExprClass, "");
776static_assert((clang::Stmt::StmtClass)ZigClangStmt_MatrixSubscriptExprClass == clang::Stmt::MatrixSubscriptExprClass, "");
759static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");777static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");
760static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");778static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");
761static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");779static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");
780static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArrayShapingExprClass == clang::Stmt::OMPArrayShapingExprClass, "");
781static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPIteratorExprClass == clang::Stmt::OMPIteratorExprClass, "");
762static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");782static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");
763static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClass == clang::Stmt::ObjCAvailabilityCheckExprClass, "");783static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClass == clang::Stmt::ObjCAvailabilityCheckExprClass, "");
764static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoolLiteralExprClass == clang::Stmt::ObjCBoolLiteralExprClass, "");784static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoolLiteralExprClass == clang::Stmt::ObjCBoolLiteralExprClass, "");
...@@ -783,6 +803,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt...@@ -783,6 +803,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt
783static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");803static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");
784static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");804static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");
785static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");805static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");
806static_assert((clang::Stmt::StmtClass)ZigClangStmt_RecoveryExprClass == clang::Stmt::RecoveryExprClass, "");
786static_assert((clang::Stmt::StmtClass)ZigClangStmt_RequiresExprClass == clang::Stmt::RequiresExprClass, "");807static_assert((clang::Stmt::StmtClass)ZigClangStmt_RequiresExprClass == clang::Stmt::RequiresExprClass, "");
787static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");808static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
788static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");809static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
...@@ -905,6 +926,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {...@@ -905,6 +926,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
905 case clang::Decl::VarTemplatePartialSpecialization:926 case clang::Decl::VarTemplatePartialSpecialization:
906 case clang::Decl::EnumConstant:927 case clang::Decl::EnumConstant:
907 case clang::Decl::IndirectField:928 case clang::Decl::IndirectField:
929 case clang::Decl::MSGuid:
908 case clang::Decl::OMPDeclareMapper:930 case clang::Decl::OMPDeclareMapper:
909 case clang::Decl::OMPDeclareReduction:931 case clang::Decl::OMPDeclareReduction:
910 case clang::Decl::UnresolvedUsingValue:932 case clang::Decl::UnresolvedUsingValue:
...@@ -989,6 +1011,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclVarTemplateSpecialization == clang:...@@ -989,6 +1011,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclVarTemplateSpecialization == clang:
989static_assert((clang::Decl::Kind)ZigClangDeclVarTemplatePartialSpecialization == clang::Decl::VarTemplatePartialSpecialization, "");1011static_assert((clang::Decl::Kind)ZigClangDeclVarTemplatePartialSpecialization == clang::Decl::VarTemplatePartialSpecialization, "");
990static_assert((clang::Decl::Kind)ZigClangDeclEnumConstant == clang::Decl::EnumConstant, "");1012static_assert((clang::Decl::Kind)ZigClangDeclEnumConstant == clang::Decl::EnumConstant, "");
991static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::IndirectField, "");1013static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::IndirectField, "");
1014static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, "");
992static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");1015static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");
993static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");1016static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");
994static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");1017static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");
...@@ -1062,6 +1085,43 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {...@@ -1062,6 +1085,43 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
1062 case clang::BuiltinType::SveFloat16:1085 case clang::BuiltinType::SveFloat16:
1063 case clang::BuiltinType::SveFloat32:1086 case clang::BuiltinType::SveFloat32:
1064 case clang::BuiltinType::SveFloat64:1087 case clang::BuiltinType::SveFloat64:
1088 case clang::BuiltinType::SveBFloat16:
1089 case clang::BuiltinType::SveInt8x2:
1090 case clang::BuiltinType::SveInt16x2:
1091 case clang::BuiltinType::SveInt32x2:
1092 case clang::BuiltinType::SveInt64x2:
1093 case clang::BuiltinType::SveUint8x2:
1094 case clang::BuiltinType::SveUint16x2:
1095 case clang::BuiltinType::SveUint32x2:
1096 case clang::BuiltinType::SveUint64x2:
1097 case clang::BuiltinType::SveFloat16x2:
1098 case clang::BuiltinType::SveFloat32x2:
1099 case clang::BuiltinType::SveFloat64x2:
1100 case clang::BuiltinType::SveBFloat16x2:
1101 case clang::BuiltinType::SveInt8x3:
1102 case clang::BuiltinType::SveInt16x3:
1103 case clang::BuiltinType::SveInt32x3:
1104 case clang::BuiltinType::SveInt64x3:
1105 case clang::BuiltinType::SveUint8x3:
1106 case clang::BuiltinType::SveUint16x3:
1107 case clang::BuiltinType::SveUint32x3:
1108 case clang::BuiltinType::SveUint64x3:
1109 case clang::BuiltinType::SveFloat16x3:
1110 case clang::BuiltinType::SveFloat32x3:
1111 case clang::BuiltinType::SveFloat64x3:
1112 case clang::BuiltinType::SveBFloat16x3:
1113 case clang::BuiltinType::SveInt8x4:
1114 case clang::BuiltinType::SveInt16x4:
1115 case clang::BuiltinType::SveInt32x4:
1116 case clang::BuiltinType::SveInt64x4:
1117 case clang::BuiltinType::SveUint8x4:
1118 case clang::BuiltinType::SveUint16x4:
1119 case clang::BuiltinType::SveUint32x4:
1120 case clang::BuiltinType::SveUint64x4:
1121 case clang::BuiltinType::SveFloat16x4:
1122 case clang::BuiltinType::SveFloat32x4:
1123 case clang::BuiltinType::SveFloat64x4:
1124 case clang::BuiltinType::SveBFloat16x4:
1065 case clang::BuiltinType::SveBool:1125 case clang::BuiltinType::SveBool:
1066 case clang::BuiltinType::Void:1126 case clang::BuiltinType::Void:
1067 case clang::BuiltinType::Bool:1127 case clang::BuiltinType::Bool:
...@@ -1113,6 +1173,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {...@@ -1113,6 +1173,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
1113 case clang::BuiltinType::Double:1173 case clang::BuiltinType::Double:
1114 case clang::BuiltinType::LongDouble:1174 case clang::BuiltinType::LongDouble:
1115 case clang::BuiltinType::Float16:1175 case clang::BuiltinType::Float16:
1176 case clang::BuiltinType::BFloat16:
1116 case clang::BuiltinType::Float128:1177 case clang::BuiltinType::Float128:
1117 case clang::BuiltinType::NullPtr:1178 case clang::BuiltinType::NullPtr:
1118 case clang::BuiltinType::ObjCId:1179 case clang::BuiltinType::ObjCId:
...@@ -1130,7 +1191,10 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {...@@ -1130,7 +1191,10 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
1130 case clang::BuiltinType::UnknownAny:1191 case clang::BuiltinType::UnknownAny:
1131 case clang::BuiltinType::BuiltinFn:1192 case clang::BuiltinType::BuiltinFn:
1132 case clang::BuiltinType::ARCUnbridgedCast:1193 case clang::BuiltinType::ARCUnbridgedCast:
1194 case clang::BuiltinType::IncompleteMatrixIdx:
1133 case clang::BuiltinType::OMPArraySection:1195 case clang::BuiltinType::OMPArraySection:
1196 case clang::BuiltinType::OMPArrayShaping:
1197 case clang::BuiltinType::OMPIterator:
1134 break;1198 break;
1135 }1199 }
1136}1200}
...@@ -1194,6 +1258,43 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64 == clang::B...@@ -1194,6 +1258,43 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64 == clang::B
1194static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::BuiltinType::SveFloat16, "");1258static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::BuiltinType::SveFloat16, "");
1195static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");1259static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");
1196static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");1260static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");
1261static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16 == clang::BuiltinType::SveBFloat16, "");
1262static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x2 == clang::BuiltinType::SveInt8x2, "");
1263static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x2 == clang::BuiltinType::SveInt16x2, "");
1264static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x2 == clang::BuiltinType::SveInt32x2, "");
1265static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64x2 == clang::BuiltinType::SveInt64x2, "");
1266static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8x2 == clang::BuiltinType::SveUint8x2, "");
1267static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16x2 == clang::BuiltinType::SveUint16x2, "");
1268static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32x2 == clang::BuiltinType::SveUint32x2, "");
1269static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64x2 == clang::BuiltinType::SveUint64x2, "");
1270static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x2 == clang::BuiltinType::SveFloat16x2, "");
1271static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x2 == clang::BuiltinType::SveFloat32x2, "");
1272static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x2 == clang::BuiltinType::SveFloat64x2, "");
1273static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x2 == clang::BuiltinType::SveBFloat16x2, "");
1274static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x3 == clang::BuiltinType::SveInt8x3, "");
1275static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x3 == clang::BuiltinType::SveInt16x3, "");
1276static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x3 == clang::BuiltinType::SveInt32x3, "");
1277static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64x3 == clang::BuiltinType::SveInt64x3, "");
1278static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8x3 == clang::BuiltinType::SveUint8x3, "");
1279static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16x3 == clang::BuiltinType::SveUint16x3, "");
1280static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32x3 == clang::BuiltinType::SveUint32x3, "");
1281static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64x3 == clang::BuiltinType::SveUint64x3, "");
1282static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x3 == clang::BuiltinType::SveFloat16x3, "");
1283static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x3 == clang::BuiltinType::SveFloat32x3, "");
1284static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x3 == clang::BuiltinType::SveFloat64x3, "");
1285static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x3 == clang::BuiltinType::SveBFloat16x3, "");
1286static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x4 == clang::BuiltinType::SveInt8x4, "");
1287static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x4 == clang::BuiltinType::SveInt16x4, "");
1288static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x4 == clang::BuiltinType::SveInt32x4, "");
1289static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64x4 == clang::BuiltinType::SveInt64x4, "");
1290static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8x4 == clang::BuiltinType::SveUint8x4, "");
1291static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16x4 == clang::BuiltinType::SveUint16x4, "");
1292static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32x4 == clang::BuiltinType::SveUint32x4, "");
1293static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64x4 == clang::BuiltinType::SveUint64x4, "");
1294static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x4 == clang::BuiltinType::SveFloat16x4, "");
1295static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x4 == clang::BuiltinType::SveFloat32x4, "");
1296static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, "");
1297static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, "");
1197static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");1298static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
1198static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");1299static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
1199static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");1300static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
...@@ -1245,6 +1346,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat == clang::Built...@@ -1245,6 +1346,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat == clang::Built
1245static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeDouble == clang::BuiltinType::Double, "");1346static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeDouble == clang::BuiltinType::Double, "");
1246static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeLongDouble == clang::BuiltinType::LongDouble, "");1347static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeLongDouble == clang::BuiltinType::LongDouble, "");
1247static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat16 == clang::BuiltinType::Float16, "");1348static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat16 == clang::BuiltinType::Float16, "");
1349static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBFloat16 == clang::BuiltinType::BFloat16, "");
1248static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat128 == clang::BuiltinType::Float128, "");1350static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeFloat128 == clang::BuiltinType::Float128, "");
1249static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeNullPtr == clang::BuiltinType::NullPtr, "");1351static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeNullPtr == clang::BuiltinType::NullPtr, "");
1250static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeObjCId == clang::BuiltinType::ObjCId, "");1352static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeObjCId == clang::BuiltinType::ObjCId, "");
...@@ -1262,7 +1364,10 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypePseudoObject == clang...@@ -1262,7 +1364,10 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypePseudoObject == clang
1262static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeUnknownAny == clang::BuiltinType::UnknownAny, "");1364static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeUnknownAny == clang::BuiltinType::UnknownAny, "");
1263static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBuiltinFn == clang::BuiltinType::BuiltinFn, "");1365static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBuiltinFn == clang::BuiltinType::BuiltinFn, "");
1264static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeARCUnbridgedCast == clang::BuiltinType::ARCUnbridgedCast, "");1366static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeARCUnbridgedCast == clang::BuiltinType::ARCUnbridgedCast, "");
1367static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeIncompleteMatrixIdx == clang::BuiltinType::IncompleteMatrixIdx, "");
1265static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArraySection == clang::BuiltinType::OMPArraySection, "");1368static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArraySection == clang::BuiltinType::OMPArraySection, "");
1369static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPArrayShaping == clang::BuiltinType::OMPArrayShaping, "");
1370static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOMPIterator == clang::BuiltinType::OMPIterator, "");
12661371
1267void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {1372void ZigClang_detect_enum_CallingConv(clang::CallingConv x) {
1268 switch (x) {1373 switch (x) {
...@@ -1326,21 +1431,25 @@ static_assert((clang::StorageClass)ZigClangStorageClass_PrivateExtern == clang::...@@ -1326,21 +1431,25 @@ static_assert((clang::StorageClass)ZigClangStorageClass_PrivateExtern == clang::
1326static_assert((clang::StorageClass)ZigClangStorageClass_Auto == clang::SC_Auto, "");1431static_assert((clang::StorageClass)ZigClangStorageClass_Auto == clang::SC_Auto, "");
1327static_assert((clang::StorageClass)ZigClangStorageClass_Register == clang::SC_Register, "");1432static_assert((clang::StorageClass)ZigClangStorageClass_Register == clang::SC_Register, "");
13281433
1329void ZigClang_detect_enum_RoundingMode(llvm::APFloat::roundingMode x) {1434void ZigClang_detect_enum_RoundingMode(llvm::RoundingMode x) {
1330 switch (x) {1435 switch (x) {
1331 case llvm::APFloat::rmNearestTiesToEven:1436 case llvm::RoundingMode::TowardZero:
1332 case llvm::APFloat::rmTowardPositive:1437 case llvm::RoundingMode::NearestTiesToEven:
1333 case llvm::APFloat::rmTowardNegative:1438 case llvm::RoundingMode::TowardPositive:
1334 case llvm::APFloat::rmTowardZero:1439 case llvm::RoundingMode::TowardNegative:
1335 case llvm::APFloat::rmNearestTiesToAway:1440 case llvm::RoundingMode::NearestTiesToAway:
1441 case llvm::RoundingMode::Dynamic:
1442 case llvm::RoundingMode::Invalid:
1336 break;1443 break;
1337 }1444 }
1338}1445}
1339static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_NearestTiesToEven == llvm::APFloat::rmNearestTiesToEven, "");1446static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_NearestTiesToEven == llvm::RoundingMode::NearestTiesToEven, "");
1340static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_TowardPositive == llvm::APFloat::rmTowardPositive, "");1447static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_TowardPositive == llvm::RoundingMode::TowardPositive, "");
1341static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_TowardNegative == llvm::APFloat::rmTowardNegative, "");1448static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_TowardNegative == llvm::RoundingMode::TowardNegative, "");
1342static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_TowardZero == llvm::APFloat::rmTowardZero, "");1449static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_TowardZero == llvm::RoundingMode::TowardZero, "");
1343static_assert((llvm::APFloat::roundingMode)ZigClangAPFloat_roundingMode_NearestTiesToAway == llvm::APFloat::rmNearestTiesToAway, "");1450static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_NearestTiesToAway == llvm::RoundingMode::NearestTiesToAway, "");
1451static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_Dynamic == llvm::RoundingMode::Dynamic, "");
1452static_assert((llvm::RoundingMode)ZigClangAPFloat_roundingMode_Invalid == llvm::RoundingMode::Invalid, "");
13441453
1345void ZigClang_detect_enum_StringKind(clang::StringLiteral::StringKind x) {1454void ZigClang_detect_enum_StringKind(clang::StringLiteral::StringKind x) {
1346 switch (x) {1455 switch (x) {
src/zig_clang.h+61-5
...@@ -236,15 +236,19 @@ enum ZigClangTypeClass {...@@ -236,15 +236,19 @@ enum ZigClangTypeClass {
236 ZigClangType_Auto,236 ZigClangType_Auto,
237 ZigClangType_DeducedTemplateSpecialization,237 ZigClangType_DeducedTemplateSpecialization,
238 ZigClangType_DependentAddressSpace,238 ZigClangType_DependentAddressSpace,
239 ZigClangType_DependentExtInt,
239 ZigClangType_DependentName,240 ZigClangType_DependentName,
240 ZigClangType_DependentSizedExtVector,241 ZigClangType_DependentSizedExtVector,
241 ZigClangType_DependentTemplateSpecialization,242 ZigClangType_DependentTemplateSpecialization,
242 ZigClangType_DependentVector,243 ZigClangType_DependentVector,
243 ZigClangType_Elaborated,244 ZigClangType_Elaborated,
245 ZigClangType_ExtInt,
244 ZigClangType_FunctionNoProto,246 ZigClangType_FunctionNoProto,
245 ZigClangType_FunctionProto,247 ZigClangType_FunctionProto,
246 ZigClangType_InjectedClassName,248 ZigClangType_InjectedClassName,
247 ZigClangType_MacroQualified,249 ZigClangType_MacroQualified,
250 ZigClangType_ConstantMatrix,
251 ZigClangType_DependentSizedMatrix,
248 ZigClangType_MemberPointer,252 ZigClangType_MemberPointer,
249 ZigClangType_ObjCObjectPointer,253 ZigClangType_ObjCObjectPointer,
250 ZigClangType_ObjCObject,254 ZigClangType_ObjCObject,
...@@ -297,6 +301,7 @@ enum ZigClangStmtClass {...@@ -297,6 +301,7 @@ enum ZigClangStmtClass {
297 ZigClangStmt_OMPCancelDirectiveClass,301 ZigClangStmt_OMPCancelDirectiveClass,
298 ZigClangStmt_OMPCancellationPointDirectiveClass,302 ZigClangStmt_OMPCancellationPointDirectiveClass,
299 ZigClangStmt_OMPCriticalDirectiveClass,303 ZigClangStmt_OMPCriticalDirectiveClass,
304 ZigClangStmt_OMPDepobjDirectiveClass,
300 ZigClangStmt_OMPFlushDirectiveClass,305 ZigClangStmt_OMPFlushDirectiveClass,
301 ZigClangStmt_OMPDistributeDirectiveClass,306 ZigClangStmt_OMPDistributeDirectiveClass,
302 ZigClangStmt_OMPDistributeParallelForDirectiveClass,307 ZigClangStmt_OMPDistributeParallelForDirectiveClass,
...@@ -328,6 +333,7 @@ enum ZigClangStmtClass {...@@ -328,6 +333,7 @@ enum ZigClangStmtClass {
328 ZigClangStmt_OMPParallelDirectiveClass,333 ZigClangStmt_OMPParallelDirectiveClass,
329 ZigClangStmt_OMPParallelMasterDirectiveClass,334 ZigClangStmt_OMPParallelMasterDirectiveClass,
330 ZigClangStmt_OMPParallelSectionsDirectiveClass,335 ZigClangStmt_OMPParallelSectionsDirectiveClass,
336 ZigClangStmt_OMPScanDirectiveClass,
331 ZigClangStmt_OMPSectionDirectiveClass,337 ZigClangStmt_OMPSectionDirectiveClass,
332 ZigClangStmt_OMPSectionsDirectiveClass,338 ZigClangStmt_OMPSectionsDirectiveClass,
333 ZigClangStmt_OMPSingleDirectiveClass,339 ZigClangStmt_OMPSingleDirectiveClass,
...@@ -402,6 +408,7 @@ enum ZigClangStmtClass {...@@ -402,6 +408,7 @@ enum ZigClangStmtClass {
402 ZigClangStmt_BuiltinBitCastExprClass,408 ZigClangStmt_BuiltinBitCastExprClass,
403 ZigClangStmt_CStyleCastExprClass,409 ZigClangStmt_CStyleCastExprClass,
404 ZigClangStmt_CXXFunctionalCastExprClass,410 ZigClangStmt_CXXFunctionalCastExprClass,
411 ZigClangStmt_CXXAddrspaceCastExprClass,
405 ZigClangStmt_CXXConstCastExprClass,412 ZigClangStmt_CXXConstCastExprClass,
406 ZigClangStmt_CXXDynamicCastExprClass,413 ZigClangStmt_CXXDynamicCastExprClass,
407 ZigClangStmt_CXXReinterpretCastExprClass,414 ZigClangStmt_CXXReinterpretCastExprClass,
...@@ -437,9 +444,12 @@ enum ZigClangStmtClass {...@@ -437,9 +444,12 @@ enum ZigClangStmtClass {
437 ZigClangStmt_MSPropertyRefExprClass,444 ZigClangStmt_MSPropertyRefExprClass,
438 ZigClangStmt_MSPropertySubscriptExprClass,445 ZigClangStmt_MSPropertySubscriptExprClass,
439 ZigClangStmt_MaterializeTemporaryExprClass,446 ZigClangStmt_MaterializeTemporaryExprClass,
447 ZigClangStmt_MatrixSubscriptExprClass,
440 ZigClangStmt_MemberExprClass,448 ZigClangStmt_MemberExprClass,
441 ZigClangStmt_NoInitExprClass,449 ZigClangStmt_NoInitExprClass,
442 ZigClangStmt_OMPArraySectionExprClass,450 ZigClangStmt_OMPArraySectionExprClass,
451 ZigClangStmt_OMPArrayShapingExprClass,
452 ZigClangStmt_OMPIteratorExprClass,
443 ZigClangStmt_ObjCArrayLiteralClass,453 ZigClangStmt_ObjCArrayLiteralClass,
444 ZigClangStmt_ObjCAvailabilityCheckExprClass,454 ZigClangStmt_ObjCAvailabilityCheckExprClass,
445 ZigClangStmt_ObjCBoolLiteralExprClass,455 ZigClangStmt_ObjCBoolLiteralExprClass,
...@@ -464,6 +474,7 @@ enum ZigClangStmtClass {...@@ -464,6 +474,7 @@ enum ZigClangStmtClass {
464 ZigClangStmt_ParenListExprClass,474 ZigClangStmt_ParenListExprClass,
465 ZigClangStmt_PredefinedExprClass,475 ZigClangStmt_PredefinedExprClass,
466 ZigClangStmt_PseudoObjectExprClass,476 ZigClangStmt_PseudoObjectExprClass,
477 ZigClangStmt_RecoveryExprClass,
467 ZigClangStmt_RequiresExprClass,478 ZigClangStmt_RequiresExprClass,
468 ZigClangStmt_ShuffleVectorExprClass,479 ZigClangStmt_ShuffleVectorExprClass,
469 ZigClangStmt_SizeOfPackExprClass,480 ZigClangStmt_SizeOfPackExprClass,
...@@ -614,6 +625,7 @@ enum ZigClangDeclKind {...@@ -614,6 +625,7 @@ enum ZigClangDeclKind {
614 ZigClangDeclVarTemplatePartialSpecialization,625 ZigClangDeclVarTemplatePartialSpecialization,
615 ZigClangDeclEnumConstant,626 ZigClangDeclEnumConstant,
616 ZigClangDeclIndirectField,627 ZigClangDeclIndirectField,
628 ZigClangDeclMSGuid,
617 ZigClangDeclOMPDeclareMapper,629 ZigClangDeclOMPDeclareMapper,
618 ZigClangDeclOMPDeclareReduction,630 ZigClangDeclOMPDeclareReduction,
619 ZigClangDeclUnresolvedUsingValue,631 ZigClangDeclUnresolvedUsingValue,
...@@ -688,6 +700,43 @@ enum ZigClangBuiltinTypeKind {...@@ -688,6 +700,43 @@ enum ZigClangBuiltinTypeKind {
688 ZigClangBuiltinTypeSveFloat16,700 ZigClangBuiltinTypeSveFloat16,
689 ZigClangBuiltinTypeSveFloat32,701 ZigClangBuiltinTypeSveFloat32,
690 ZigClangBuiltinTypeSveFloat64,702 ZigClangBuiltinTypeSveFloat64,
703 ZigClangBuiltinTypeSveBFloat16,
704 ZigClangBuiltinTypeSveInt8x2,
705 ZigClangBuiltinTypeSveInt16x2,
706 ZigClangBuiltinTypeSveInt32x2,
707 ZigClangBuiltinTypeSveInt64x2,
708 ZigClangBuiltinTypeSveUint8x2,
709 ZigClangBuiltinTypeSveUint16x2,
710 ZigClangBuiltinTypeSveUint32x2,
711 ZigClangBuiltinTypeSveUint64x2,
712 ZigClangBuiltinTypeSveFloat16x2,
713 ZigClangBuiltinTypeSveFloat32x2,
714 ZigClangBuiltinTypeSveFloat64x2,
715 ZigClangBuiltinTypeSveBFloat16x2,
716 ZigClangBuiltinTypeSveInt8x3,
717 ZigClangBuiltinTypeSveInt16x3,
718 ZigClangBuiltinTypeSveInt32x3,
719 ZigClangBuiltinTypeSveInt64x3,
720 ZigClangBuiltinTypeSveUint8x3,
721 ZigClangBuiltinTypeSveUint16x3,
722 ZigClangBuiltinTypeSveUint32x3,
723 ZigClangBuiltinTypeSveUint64x3,
724 ZigClangBuiltinTypeSveFloat16x3,
725 ZigClangBuiltinTypeSveFloat32x3,
726 ZigClangBuiltinTypeSveFloat64x3,
727 ZigClangBuiltinTypeSveBFloat16x3,
728 ZigClangBuiltinTypeSveInt8x4,
729 ZigClangBuiltinTypeSveInt16x4,
730 ZigClangBuiltinTypeSveInt32x4,
731 ZigClangBuiltinTypeSveInt64x4,
732 ZigClangBuiltinTypeSveUint8x4,
733 ZigClangBuiltinTypeSveUint16x4,
734 ZigClangBuiltinTypeSveUint32x4,
735 ZigClangBuiltinTypeSveUint64x4,
736 ZigClangBuiltinTypeSveFloat16x4,
737 ZigClangBuiltinTypeSveFloat32x4,
738 ZigClangBuiltinTypeSveFloat64x4,
739 ZigClangBuiltinTypeSveBFloat16x4,
691 ZigClangBuiltinTypeSveBool,740 ZigClangBuiltinTypeSveBool,
692 ZigClangBuiltinTypeVoid,741 ZigClangBuiltinTypeVoid,
693 ZigClangBuiltinTypeBool,742 ZigClangBuiltinTypeBool,
...@@ -739,6 +788,7 @@ enum ZigClangBuiltinTypeKind {...@@ -739,6 +788,7 @@ enum ZigClangBuiltinTypeKind {
739 ZigClangBuiltinTypeDouble,788 ZigClangBuiltinTypeDouble,
740 ZigClangBuiltinTypeLongDouble,789 ZigClangBuiltinTypeLongDouble,
741 ZigClangBuiltinTypeFloat16,790 ZigClangBuiltinTypeFloat16,
791 ZigClangBuiltinTypeBFloat16,
742 ZigClangBuiltinTypeFloat128,792 ZigClangBuiltinTypeFloat128,
743 ZigClangBuiltinTypeNullPtr,793 ZigClangBuiltinTypeNullPtr,
744 ZigClangBuiltinTypeObjCId,794 ZigClangBuiltinTypeObjCId,
...@@ -756,7 +806,10 @@ enum ZigClangBuiltinTypeKind {...@@ -756,7 +806,10 @@ enum ZigClangBuiltinTypeKind {
756 ZigClangBuiltinTypeUnknownAny,806 ZigClangBuiltinTypeUnknownAny,
757 ZigClangBuiltinTypeBuiltinFn,807 ZigClangBuiltinTypeBuiltinFn,
758 ZigClangBuiltinTypeARCUnbridgedCast,808 ZigClangBuiltinTypeARCUnbridgedCast,
809 ZigClangBuiltinTypeIncompleteMatrixIdx,
759 ZigClangBuiltinTypeOMPArraySection,810 ZigClangBuiltinTypeOMPArraySection,
811 ZigClangBuiltinTypeOMPArrayShaping,
812 ZigClangBuiltinTypeOMPIterator,
760};813};
761814
762enum ZigClangCallingConv {815enum ZigClangCallingConv {
...@@ -794,11 +847,14 @@ enum ZigClangStorageClass {...@@ -794,11 +847,14 @@ enum ZigClangStorageClass {
794847
795/// IEEE-754R 4.3: Rounding-direction attributes.848/// IEEE-754R 4.3: Rounding-direction attributes.
796enum ZigClangAPFloat_roundingMode {849enum ZigClangAPFloat_roundingMode {
797 ZigClangAPFloat_roundingMode_NearestTiesToEven,850 ZigClangAPFloat_roundingMode_TowardZero = 0,
798 ZigClangAPFloat_roundingMode_TowardPositive,851 ZigClangAPFloat_roundingMode_NearestTiesToEven = 1,
799 ZigClangAPFloat_roundingMode_TowardNegative,852 ZigClangAPFloat_roundingMode_TowardPositive = 2,
800 ZigClangAPFloat_roundingMode_TowardZero,853 ZigClangAPFloat_roundingMode_TowardNegative = 3,
801 ZigClangAPFloat_roundingMode_NearestTiesToAway,854 ZigClangAPFloat_roundingMode_NearestTiesToAway = 4,
855
856 ZigClangAPFloat_roundingMode_Dynamic = 7,
857 ZigClangAPFloat_roundingMode_Invalid = -1,
802};858};
803859
804enum ZigClangStringLiteral_StringKind {860enum ZigClangStringLiteral_StringKind {
src/zig_llvm.cpp+4-1
...@@ -39,6 +39,7 @@...@@ -39,6 +39,7 @@
39#include <llvm/Object/COFFModuleDefinition.h>39#include <llvm/Object/COFFModuleDefinition.h>
40#include <llvm/PassRegistry.h>40#include <llvm/PassRegistry.h>
41#include <llvm/Support/CommandLine.h>41#include <llvm/Support/CommandLine.h>
42#include <llvm/Support/Host.h>
42#include <llvm/Support/FileSystem.h>43#include <llvm/Support/FileSystem.h>
43#include <llvm/Support/TargetParser.h>44#include <llvm/Support/TargetParser.h>
44#include <llvm/Support/Timer.h>45#include <llvm/Support/Timer.h>
...@@ -308,7 +309,9 @@ ZIG_EXTERN_C LLVMTypeRef ZigLLVMTokenTypeInContext(LLVMContextRef context_ref) {...@@ -308,7 +309,9 @@ ZIG_EXTERN_C LLVMTypeRef ZigLLVMTokenTypeInContext(LLVMContextRef context_ref) {
308LLVMValueRef ZigLLVMBuildCall(LLVMBuilderRef B, LLVMValueRef Fn, LLVMValueRef *Args,309LLVMValueRef ZigLLVMBuildCall(LLVMBuilderRef B, LLVMValueRef Fn, LLVMValueRef *Args,
309 unsigned NumArgs, ZigLLVM_CallingConv CC, ZigLLVM_CallAttr attr, const char *Name)310 unsigned NumArgs, ZigLLVM_CallingConv CC, ZigLLVM_CallAttr attr, const char *Name)
310{311{
311 CallInst *call_inst = CallInst::Create(unwrap(Fn), makeArrayRef(unwrap(Args), NumArgs), Name);312 Value *V = unwrap(Fn);
313 FunctionType *FnT = cast<FunctionType>(cast<PointerType>(V->getType())->getElementType());
314 CallInst *call_inst = CallInst::Create(FnT, V, makeArrayRef(unwrap(Args), NumArgs), Name);
312 call_inst->setCallingConv(static_cast<CallingConv::ID>(CC));315 call_inst->setCallingConv(static_cast<CallingConv::ID>(CC));
313 switch (attr) {316 switch (attr) {
314 case ZigLLVM_CallAttrAuto:317 case ZigLLVM_CallAttrAuto: