@@ -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,58 +1026,59 @@ 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)));
10451043 }
10461044}
10471045
1048- extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerator (
1049- LLVMRustDIBuilderRef Builder, const char *Name, size_t NameLen,
1050- const uint64_t Value[2 ], unsigned SizeInBits, bool IsUnsigned) {
1051- return wrap (Builder->createEnumerator (
1046+ extern " C" LLVMMetadataRef
1047+ LLVMRustDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder, const char *Name,
1048+ size_t NameLen, const uint64_t Value[2 ],
1049+ unsigned SizeInBits, bool IsUnsigned) {
1050+ return wrap (unwrap (Builder)->createEnumerator (
10521051 StringRef (Name, NameLen),
10531052 APSInt (APInt (SizeInBits, ArrayRef<uint64_t >(Value, 2 )), IsUnsigned)));
10541053}
10551054
10561055extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerationType (
1057- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1056+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10581057 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
10591058 uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef Elements,
10601059 LLVMMetadataRef ClassTy, bool IsScoped) {
1061- return wrap (Builder->createEnumerationType (
1060+ return wrap (unwrap ( Builder) ->createEnumerationType (
10621061 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10631062 unwrapDI<DIFile>(File), LineNumber, SizeInBits, AlignInBits,
10641063 DINodeArray (unwrapDI<MDTuple>(Elements)), unwrapDI<DIType>(ClassTy),
10651064 /* RunTimeLang */ 0 , " " , IsScoped));
10661065}
10671066
10681067extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateTemplateTypeParameter (
1069- LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1068+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10701069 size_t NameLen, LLVMMetadataRef Ty) {
10711070 bool IsDefault = false ; // FIXME: should we ever set this true?
1072- return wrap (Builder->createTemplateTypeParameter (
1071+ return wrap (unwrap ( Builder) ->createTemplateTypeParameter (
10731072 unwrapDI<DIDescriptor>(Scope), StringRef (Name, NameLen),
10741073 unwrapDI<DIType>(Ty), IsDefault));
10751074}
10761075
10771076extern " C" void LLVMRustDICompositeTypeReplaceArrays (
1078- LLVMRustDIBuilderRef Builder, LLVMMetadataRef CompositeTy,
1077+ LLVMDIBuilderRef Builder, LLVMMetadataRef CompositeTy,
10791078 LLVMMetadataRef Elements, LLVMMetadataRef Params) {
10801079 DICompositeType *Tmp = unwrapDI<DICompositeType>(CompositeTy);
1081- Builder->replaceArrays (Tmp, DINodeArray (unwrap<MDTuple>(Elements)),
1082- DINodeArray (unwrap<MDTuple>(Params)));
1080+ unwrap ( Builder) ->replaceArrays (Tmp, DINodeArray (unwrap<MDTuple>(Elements)),
1081+ DINodeArray (unwrap<MDTuple>(Params)));
10831082}
10841083
10851084extern " C" LLVMMetadataRef
0 commit comments