@@ -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}
@@ -897,21 +895,21 @@ extern "C" void LLVMRustGlobalAddMetadata(LLVMValueRef Global, unsigned Kind,
897895}
898896
899897extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateCompileUnit (
900- LLVMRustDIBuilderRef Builder, unsigned Lang, LLVMMetadataRef FileRef,
898+ LLVMDIBuilderRef Builder, unsigned Lang, LLVMMetadataRef FileRef,
901899 const char *Producer, size_t ProducerLen, bool isOptimized,
902900 const char *Flags, unsigned RuntimeVer, const char *SplitName,
903901 size_t SplitNameLen, LLVMRustDebugEmissionKind Kind, uint64_t DWOId,
904902 bool SplitDebugInlining, LLVMRustDebugNameTableKind TableKind) {
905903 auto *File = unwrapDI<DIFile>(FileRef);
906904
907- return wrap (Builder->createCompileUnit (
905+ return wrap (unwrap ( Builder) ->createCompileUnit (
908906 Lang, File, StringRef (Producer, ProducerLen), isOptimized, Flags,
909907 RuntimeVer, StringRef (SplitName, SplitNameLen), fromRust (Kind), DWOId,
910908 SplitDebugInlining, false , fromRust (TableKind)));
911909}
912910
913911extern " C" LLVMMetadataRef
914- LLVMRustDIBuilderCreateFile (LLVMRustDIBuilderRef Builder, const char *Filename,
912+ LLVMRustDIBuilderCreateFile (LLVMDIBuilderRef Builder, const char *Filename,
915913 size_t FilenameLen, const char *Directory,
916914 size_t DirectoryLen, LLVMRustChecksumKind CSKind,
917915 const char *Checksum, size_t ChecksumLen,
@@ -924,13 +922,13 @@ LLVMRustDIBuilderCreateFile(LLVMRustDIBuilderRef Builder, const char *Filename,
924922 std::optional<StringRef> oSource{};
925923 if (Source)
926924 oSource = StringRef (Source, SourceLen);
927- return wrap (Builder->createFile (StringRef (Filename, FilenameLen),
928- StringRef (Directory, DirectoryLen), CSInfo ,
929- oSource));
925+ return wrap (unwrap ( Builder) ->createFile (StringRef (Filename, FilenameLen),
926+ StringRef (Directory, DirectoryLen),
927+ CSInfo, oSource));
930928}
931929
932930extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction (
933- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
931+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
934932 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
935933 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
936934 unsigned ScopeLine, LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags,
@@ -939,7 +937,7 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
939937 DITemplateParameterArray (unwrap<MDTuple>(TParam));
940938 DISubprogram::DISPFlags llvmSPFlags = fromRust (SPFlags);
941939 DINode::DIFlags llvmFlags = fromRust (Flags);
942- DISubprogram *Sub = Builder->createFunction (
940+ DISubprogram *Sub = unwrap ( Builder) ->createFunction (
943941 unwrapDI<DIScope>(Scope), StringRef (Name, NameLen),
944942 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
945943 unwrapDI<DISubroutineType>(Ty), ScopeLine, llvmFlags, llvmSPFlags,
@@ -950,15 +948,15 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
950948}
951949
952950extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod (
953- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
951+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
954952 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
955953 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
956954 LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags, LLVMMetadataRef TParam) {
957955 DITemplateParameterArray TParams =
958956 DITemplateParameterArray (unwrap<MDTuple>(TParam));
959957 DISubprogram::DISPFlags llvmSPFlags = fromRust (SPFlags);
960958 DINode::DIFlags llvmFlags = fromRust (Flags);
961- DISubprogram *Sub = Builder->createMethod (
959+ DISubprogram *Sub = unwrap ( Builder) ->createMethod (
962960 unwrapDI<DIScope>(Scope), StringRef (Name, NameLen),
963961 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
964962 unwrapDI<DISubroutineType>(Ty), 0 , 0 ,
@@ -968,12 +966,12 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod(
968966}
969967
970968extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantPart (
971- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
969+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
972970 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
973971 uint64_t SizeInBits, uint32_t AlignInBits, LLVMRustDIFlags Flags,
974972 LLVMMetadataRef Discriminator, LLVMMetadataRef Elements,
975973 const char *UniqueId, size_t UniqueIdLen) {
976- return wrap (Builder->createVariantPart (
974+ return wrap (unwrap ( Builder) ->createVariantPart (
977975 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
978976 unwrapDI<DIFile>(File), LineNumber, SizeInBits, AlignInBits,
979977 fromRust (Flags), unwrapDI<DIDerivedType>(Discriminator),
@@ -982,22 +980,22 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantPart(
982980}
983981
984982extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantMemberType (
985- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
983+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
986984 size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits,
987985 uint32_t AlignInBits, uint64_t OffsetInBits, LLVMValueRef Discriminant,
988986 LLVMRustDIFlags Flags, LLVMMetadataRef Ty) {
989987 llvm::ConstantInt *D = nullptr ;
990988 if (Discriminant) {
991989 D = unwrap<llvm::ConstantInt>(Discriminant);
992990 }
993- return wrap (Builder->createVariantMemberType (
991+ return wrap (unwrap ( Builder) ->createVariantMemberType (
994992 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
995993 unwrapDI<DIFile>(File), LineNo, SizeInBits, AlignInBits, OffsetInBits, D,
996994 fromRust (Flags), unwrapDI<DIType>(Ty)));
997995}
998996
999997extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable (
1000- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
998+ LLVMDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
1001999 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
10021000 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
10031001 bool IsLocalToUnit, LLVMValueRef V, LLVMMetadataRef Decl = nullptr ,
@@ -1006,16 +1004,16 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
10061004
10071005 llvm::DIExpression *InitExpr = nullptr ;
10081006 if (llvm::ConstantInt *IntVal = llvm::dyn_cast<llvm::ConstantInt>(InitVal)) {
1009- InitExpr = Builder->createConstantValueExpression (
1007+ InitExpr = unwrap ( Builder) ->createConstantValueExpression (
10101008 IntVal->getValue ().getSExtValue ());
10111009 } else if (llvm::ConstantFP *FPVal =
10121010 llvm::dyn_cast<llvm::ConstantFP>(InitVal)) {
1013- InitExpr = Builder->createConstantValueExpression (
1011+ InitExpr = unwrap ( Builder) ->createConstantValueExpression (
10141012 FPVal->getValueAPF ().bitcastToAPInt ().getZExtValue ());
10151013 }
10161014
10171015 llvm::DIGlobalVariableExpression *VarExpr =
1018- Builder->createGlobalVariableExpression (
1016+ unwrap ( Builder) ->createGlobalVariableExpression (
10191017 unwrapDI<DIDescriptor>(Context), StringRef (Name, NameLen),
10201018 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File),
10211019 LineNo, unwrapDI<DIType>(Ty), IsLocalToUnit,
@@ -1028,17 +1026,17 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
10281026}
10291027
10301028extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateVariable (
1031- LLVMRustDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Scope,
1029+ LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Scope,
10321030 const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo,
10331031 LLVMMetadataRef Ty, bool AlwaysPreserve, LLVMRustDIFlags Flags,
10341032 unsigned ArgNo, uint32_t AlignInBits) {
10351033 if (Tag == 0x100 ) { // DW_TAG_auto_variable
1036- return wrap (Builder->createAutoVariable (
1034+ return wrap (unwrap ( Builder) ->createAutoVariable (
10371035 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10381036 unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), AlwaysPreserve,
10391037 fromRust (Flags), AlignInBits));
10401038 } else {
1041- return wrap (Builder->createParameterVariable (
1039+ return wrap (unwrap ( Builder) ->createParameterVariable (
10421040 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen), ArgNo,
10431041 unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), AlwaysPreserve,
10441042 fromRust (Flags)));
@@ -1053,41 +1051,42 @@ extern "C" void LLVMRustDIBuilderInsertDeclareRecordAtEnd(
10531051 unwrap<DIExpression>(Expr), unwrap<DILocation>(DebugLoc), unwrap (Block));
10541052}
10551053
1056- extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerator (
1057- LLVMRustDIBuilderRef Builder, const char *Name, size_t NameLen,
1058- const uint64_t Value[2 ], unsigned SizeInBits, bool IsUnsigned) {
1059- return wrap (Builder->createEnumerator (
1054+ extern " C" LLVMMetadataRef
1055+ LLVMRustDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder, const char *Name,
1056+ size_t NameLen, const uint64_t Value[2 ],
1057+ unsigned SizeInBits, bool IsUnsigned) {
1058+ return wrap (unwrap (Builder)->createEnumerator (
10601059 StringRef (Name, NameLen),
10611060 APSInt (APInt (SizeInBits, ArrayRef<uint64_t >(Value, 2 )), IsUnsigned)));
10621061}
10631062
10641063extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerationType (
1065- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1064+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10661065 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
10671066 uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef Elements,
10681067 LLVMMetadataRef ClassTy, bool IsScoped) {
1069- return wrap (Builder->createEnumerationType (
1068+ return wrap (unwrap ( Builder) ->createEnumerationType (
10701069 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10711070 unwrapDI<DIFile>(File), LineNumber, SizeInBits, AlignInBits,
10721071 DINodeArray (unwrapDI<MDTuple>(Elements)), unwrapDI<DIType>(ClassTy),
10731072 /* RunTimeLang */ 0 , " " , IsScoped));
10741073}
10751074
10761075extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateTemplateTypeParameter (
1077- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1076+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10781077 size_t NameLen, LLVMMetadataRef Ty) {
10791078 bool IsDefault = false ; // FIXME: should we ever set this true?
1080- return wrap (Builder->createTemplateTypeParameter (
1079+ return wrap (unwrap ( Builder) ->createTemplateTypeParameter (
10811080 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10821081 unwrapDI<DIType>(Ty), IsDefault));
10831082}
10841083
10851084extern " C" void LLVMRustDICompositeTypeReplaceArrays (
1086- LLVMRustDIBuilderRef Builder, LLVMMetadataRef CompositeTy,
1085+ LLVMDIBuilderRef Builder, LLVMMetadataRef CompositeTy,
10871086 LLVMMetadataRef Elements, LLVMMetadataRef Params) {
10881087 DICompositeType *Tmp = unwrapDI<DICompositeType>(CompositeTy);
1089- Builder->replaceArrays (Tmp, DINodeArray (unwrap<MDTuple>(Elements)),
1090- DINodeArray (unwrap<MDTuple>(Params)));
1088+ unwrap ( Builder) ->replaceArrays (Tmp, DINodeArray (unwrap<MDTuple>(Elements)),
1089+ DINodeArray (unwrap<MDTuple>(Params)));
10911090}
10921091
10931092extern " C" LLVMMetadataRef
0 commit comments