@@ -627,8 +627,6 @@ extern "C" bool LLVMRustInlineAsmVerify(LLVMTypeRef Ty, char *Constraints,
627627 unwrap<FunctionType>(Ty), StringRef (Constraints, ConstraintsLen)));
628628}
629629
630- typedef DIBuilder *LLVMRustDIBuilderRef;
631-
632630template <typename DIT> DIT *unwrapDIPtr (LLVMMetadataRef Ref) {
633631 return (DIT *)(Ref ? unwrap<MDNode>(Ref) : nullptr );
634632}
@@ -910,21 +908,21 @@ extern "C" void LLVMRustGlobalAddMetadata(LLVMValueRef Global, unsigned Kind,
910908}
911909
912910extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateCompileUnit (
913- LLVMRustDIBuilderRef Builder, unsigned Lang, LLVMMetadataRef FileRef,
911+ LLVMDIBuilderRef Builder, unsigned Lang, LLVMMetadataRef FileRef,
914912 const char *Producer, size_t ProducerLen, bool isOptimized,
915913 const char *Flags, unsigned RuntimeVer, const char *SplitName,
916914 size_t SplitNameLen, LLVMRustDebugEmissionKind Kind, uint64_t DWOId,
917915 bool SplitDebugInlining, LLVMRustDebugNameTableKind TableKind) {
918916 auto *File = unwrapDI<DIFile>(FileRef);
919917
920- return wrap (Builder->createCompileUnit (
918+ return wrap (unwrap ( Builder) ->createCompileUnit (
921919 Lang, File, StringRef (Producer, ProducerLen), isOptimized, Flags,
922920 RuntimeVer, StringRef (SplitName, SplitNameLen), fromRust (Kind), DWOId,
923921 SplitDebugInlining, false , fromRust (TableKind)));
924922}
925923
926924extern " C" LLVMMetadataRef
927- LLVMRustDIBuilderCreateFile (LLVMRustDIBuilderRef Builder, const char *Filename,
925+ LLVMRustDIBuilderCreateFile (LLVMDIBuilderRef Builder, const char *Filename,
928926 size_t FilenameLen, const char *Directory,
929927 size_t DirectoryLen, LLVMRustChecksumKind CSKind,
930928 const char *Checksum, size_t ChecksumLen,
@@ -937,13 +935,13 @@ LLVMRustDIBuilderCreateFile(LLVMRustDIBuilderRef Builder, const char *Filename,
937935 std::optional<StringRef> oSource{};
938936 if (Source)
939937 oSource = StringRef (Source, SourceLen);
940- return wrap (Builder->createFile (StringRef (Filename, FilenameLen),
941- StringRef (Directory, DirectoryLen), CSInfo ,
942- oSource));
938+ return wrap (unwrap ( Builder) ->createFile (StringRef (Filename, FilenameLen),
939+ StringRef (Directory, DirectoryLen),
940+ CSInfo, oSource));
943941}
944942
945943extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction (
946- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
944+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
947945 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
948946 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
949947 unsigned ScopeLine, LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags,
@@ -952,7 +950,7 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
952950 DITemplateParameterArray (unwrap<MDTuple>(TParam));
953951 DISubprogram::DISPFlags llvmSPFlags = fromRust (SPFlags);
954952 DINode::DIFlags llvmFlags = fromRust (Flags);
955- DISubprogram *Sub = Builder->createFunction (
953+ DISubprogram *Sub = unwrap ( Builder) ->createFunction (
956954 unwrapDI<DIScope>(Scope), StringRef (Name, NameLen),
957955 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
958956 unwrapDI<DISubroutineType>(Ty), ScopeLine, llvmFlags, llvmSPFlags,
@@ -963,15 +961,15 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
963961}
964962
965963extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod (
966- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
964+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
967965 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
968966 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
969967 LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags, LLVMMetadataRef TParam) {
970968 DITemplateParameterArray TParams =
971969 DITemplateParameterArray (unwrap<MDTuple>(TParam));
972970 DISubprogram::DISPFlags llvmSPFlags = fromRust (SPFlags);
973971 DINode::DIFlags llvmFlags = fromRust (Flags);
974- DISubprogram *Sub = Builder->createMethod (
972+ DISubprogram *Sub = unwrap ( Builder) ->createMethod (
975973 unwrapDI<DIScope>(Scope), StringRef (Name, NameLen),
976974 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
977975 unwrapDI<DISubroutineType>(Ty), 0 , 0 ,
@@ -981,12 +979,12 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod(
981979}
982980
983981extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantPart (
984- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
982+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
985983 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
986984 uint64_t SizeInBits, uint32_t AlignInBits, LLVMRustDIFlags Flags,
987985 LLVMMetadataRef Discriminator, LLVMMetadataRef Elements,
988986 const char *UniqueId, size_t UniqueIdLen) {
989- return wrap (Builder->createVariantPart (
987+ return wrap (unwrap ( Builder) ->createVariantPart (
990988 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
991989 unwrapDI<DIFile>(File), LineNumber, SizeInBits, AlignInBits,
992990 fromRust (Flags), unwrapDI<DIDerivedType>(Discriminator),
@@ -995,22 +993,22 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantPart(
995993}
996994
997995extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantMemberType (
998- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
996+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
999997 size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits,
1000998 uint32_t AlignInBits, uint64_t OffsetInBits, LLVMValueRef Discriminant,
1001999 LLVMRustDIFlags Flags, LLVMMetadataRef Ty) {
10021000 llvm::ConstantInt *D = nullptr ;
10031001 if (Discriminant) {
10041002 D = unwrap<llvm::ConstantInt>(Discriminant);
10051003 }
1006- return wrap (Builder->createVariantMemberType (
1004+ return wrap (unwrap ( Builder) ->createVariantMemberType (
10071005 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10081006 unwrapDI<DIFile>(File), LineNo, SizeInBits, AlignInBits, OffsetInBits, D,
10091007 fromRust (Flags), unwrapDI<DIType>(Ty)));
10101008}
10111009
10121010extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable (
1013- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
1011+ LLVMDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
10141012 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
10151013 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
10161014 bool IsLocalToUnit, LLVMValueRef V, LLVMMetadataRef Decl = nullptr ,
@@ -1019,16 +1017,16 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
10191017
10201018 llvm::DIExpression *InitExpr = nullptr ;
10211019 if (llvm::ConstantInt *IntVal = llvm::dyn_cast<llvm::ConstantInt>(InitVal)) {
1022- InitExpr = Builder->createConstantValueExpression (
1020+ InitExpr = unwrap ( Builder) ->createConstantValueExpression (
10231021 IntVal->getValue ().getSExtValue ());
10241022 } else if (llvm::ConstantFP *FPVal =
10251023 llvm::dyn_cast<llvm::ConstantFP>(InitVal)) {
1026- InitExpr = Builder->createConstantValueExpression (
1024+ InitExpr = unwrap ( Builder) ->createConstantValueExpression (
10271025 FPVal->getValueAPF ().bitcastToAPInt ().getZExtValue ());
10281026 }
10291027
10301028 llvm::DIGlobalVariableExpression *VarExpr =
1031- Builder->createGlobalVariableExpression (
1029+ unwrap ( Builder) ->createGlobalVariableExpression (
10321030 unwrapDI<DIDescriptor>(Context), StringRef (Name, NameLen),
10331031 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File),
10341032 LineNo, unwrapDI<DIType>(Ty), IsLocalToUnit,
@@ -1041,17 +1039,17 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
10411039}
10421040
10431041extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateVariable (
1044- LLVMRustDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Scope,
1042+ LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Scope,
10451043 const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo,
10461044 LLVMMetadataRef Ty, bool AlwaysPreserve, LLVMRustDIFlags Flags,
10471045 unsigned ArgNo, uint32_t AlignInBits) {
10481046 if (Tag == 0x100 ) { // DW_TAG_auto_variable
1049- return wrap (Builder->createAutoVariable (
1047+ return wrap (unwrap ( Builder) ->createAutoVariable (
10501048 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10511049 unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), AlwaysPreserve,
10521050 fromRust (Flags), AlignInBits));
10531051 } else {
1054- return wrap (Builder->createParameterVariable (
1052+ return wrap (unwrap ( Builder) ->createParameterVariable (
10551053 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen), ArgNo,
10561054 unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), AlwaysPreserve,
10571055 fromRust (Flags)));
@@ -1066,41 +1064,42 @@ extern "C" void LLVMRustDIBuilderInsertDeclareRecordAtEnd(
10661064 unwrap<DIExpression>(Expr), unwrap<DILocation>(DebugLoc), unwrap (Block));
10671065}
10681066
1069- extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerator (
1070- LLVMRustDIBuilderRef Builder, const char *Name, size_t NameLen,
1071- const uint64_t Value[2 ], unsigned SizeInBits, bool IsUnsigned) {
1072- return wrap (Builder->createEnumerator (
1067+ extern " C" LLVMMetadataRef
1068+ LLVMRustDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder, const char *Name,
1069+ size_t NameLen, const uint64_t Value[2 ],
1070+ unsigned SizeInBits, bool IsUnsigned) {
1071+ return wrap (unwrap (Builder)->createEnumerator (
10731072 StringRef (Name, NameLen),
10741073 APSInt (APInt (SizeInBits, ArrayRef<uint64_t >(Value, 2 )), IsUnsigned)));
10751074}
10761075
10771076extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerationType (
1078- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1077+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10791078 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
10801079 uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef Elements,
10811080 LLVMMetadataRef ClassTy, bool IsScoped) {
1082- return wrap (Builder->createEnumerationType (
1081+ return wrap (unwrap ( Builder) ->createEnumerationType (
10831082 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10841083 unwrapDI<DIFile>(File), LineNumber, SizeInBits, AlignInBits,
10851084 DINodeArray (unwrapDI<MDTuple>(Elements)), unwrapDI<DIType>(ClassTy),
10861085 /* RunTimeLang */ 0 , " " , IsScoped));
10871086}
10881087
10891088extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateTemplateTypeParameter (
1090- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1089+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10911090 size_t NameLen, LLVMMetadataRef Ty) {
10921091 bool IsDefault = false ; // FIXME: should we ever set this true?
1093- return wrap (Builder->createTemplateTypeParameter (
1092+ return wrap (unwrap ( Builder) ->createTemplateTypeParameter (
10941093 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10951094 unwrapDI<DIType>(Ty), IsDefault));
10961095}
10971096
10981097extern " C" void LLVMRustDICompositeTypeReplaceArrays (
1099- LLVMRustDIBuilderRef Builder, LLVMMetadataRef CompositeTy,
1098+ LLVMDIBuilderRef Builder, LLVMMetadataRef CompositeTy,
11001099 LLVMMetadataRef Elements, LLVMMetadataRef Params) {
11011100 DICompositeType *Tmp = unwrapDI<DICompositeType>(CompositeTy);
1102- Builder->replaceArrays (Tmp, DINodeArray (unwrap<MDTuple>(Elements)),
1103- DINodeArray (unwrap<MDTuple>(Params)));
1101+ unwrap ( Builder) ->replaceArrays (Tmp, DINodeArray (unwrap<MDTuple>(Elements)),
1102+ DINodeArray (unwrap<MDTuple>(Params)));
11041103}
11051104
11061105extern " C" LLVMMetadataRef
0 commit comments