diff options
-rw-r--r-- | llvm/bindings/go/llvm/DIBuilderBindings.cpp | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/llvm/bindings/go/llvm/DIBuilderBindings.cpp b/llvm/bindings/go/llvm/DIBuilderBindings.cpp index ed583a8f76a..ee2e70a579b 100644 --- a/llvm/bindings/go/llvm/DIBuilderBindings.cpp +++ b/llvm/bindings/go/llvm/DIBuilderBindings.cpp @@ -83,9 +83,9 @@ LLVMMetadataRef LLVMDIBuilderCreateFunction( DIBuilder *D = unwrap(Dref); DISubprogram SP = D->createFunction( DIDescriptor(unwrap<MDScope>(Scope)), Name, LinkageName, - unwrap<MDFile>(File), Line, unwrap<MDCompositeTypeBase>(CompositeType), - IsLocalToUnit, IsDefinition, ScopeLine, Flags, IsOptimized, - unwrap<Function>(Func)); + File ? unwrap<MDFile>(File) : nullptr, Line, + unwrap<MDCompositeTypeBase>(CompositeType), IsLocalToUnit, IsDefinition, + ScopeLine, Flags, IsOptimized, unwrap<Function>(Func)); return wrap(SP); } @@ -125,8 +125,9 @@ LLVMMetadataRef LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Dref, LLVMMetadataRef File, LLVMMetadataRef ParameterTypes) { DIBuilder *D = unwrap(Dref); - DICompositeType CT = D->createSubroutineType( - unwrap<MDFile>(File), DITypeArray(unwrap<MDTuple>(ParameterTypes))); + DICompositeType CT = + D->createSubroutineType(File ? unwrap<MDFile>(File) : nullptr, + DITypeArray(unwrap<MDTuple>(ParameterTypes))); return wrap(CT); } @@ -137,9 +138,10 @@ LLVMMetadataRef LLVMDIBuilderCreateStructType( LLVMMetadataRef ElementTypes) { DIBuilder *D = unwrap(Dref); DICompositeType CT = D->createStructType( - DIDescriptor(unwrap<MDScope>(Scope)), Name, unwrap<MDFile>(File), Line, - SizeInBits, AlignInBits, Flags, unwrap<MDType>(DerivedFrom), - DIArray(unwrap<MDTuple>(ElementTypes))); + DIDescriptor(unwrap<MDScope>(Scope)), Name, + File ? unwrap<MDFile>(File) : nullptr, Line, SizeInBits, AlignInBits, + Flags, DerivedFrom ? unwrap<MDType>(DerivedFrom) : nullptr, + ElementTypes ? DIArray(unwrap<MDTuple>(ElementTypes)) : nullptr); return wrap(CT); } @@ -150,8 +152,9 @@ LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType( unsigned Flags) { DIBuilder *D = unwrap(Dref); DICompositeType CT = D->createReplaceableCompositeType( - Tag, Name, DIDescriptor(unwrap<MDScope>(Scope)), unwrap<MDFile>(File), - Line, RuntimeLang, SizeInBits, AlignInBits, Flags); + Tag, Name, DIDescriptor(unwrap<MDScope>(Scope)), + File ? unwrap<MDFile>(File) : nullptr, Line, RuntimeLang, SizeInBits, + AlignInBits, Flags); return wrap(CT); } @@ -163,8 +166,9 @@ LLVMDIBuilderCreateMemberType(LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, unsigned Flags, LLVMMetadataRef Ty) { DIBuilder *D = unwrap(Dref); DIDerivedType DT = D->createMemberType( - DIDescriptor(unwrap<MDScope>(Scope)), Name, unwrap<MDFile>(File), Line, - SizeInBits, AlignInBits, OffsetInBits, Flags, unwrap<MDType>(Ty)); + DIDescriptor(unwrap<MDScope>(Scope)), Name, + File ? unwrap<MDFile>(File) : nullptr, Line, SizeInBits, AlignInBits, + OffsetInBits, Flags, unwrap<MDType>(Ty)); return wrap(DT); } @@ -185,9 +189,9 @@ LLVMMetadataRef LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Dref, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef Context) { DIBuilder *D = unwrap(Dref); - DIDerivedType DT = - D->createTypedef(unwrap<MDType>(Ty), Name, unwrap<MDFile>(File), Line, - DIDescriptor(unwrap<MDScope>(Context))); + DIDerivedType DT = D->createTypedef( + unwrap<MDType>(Ty), Name, File ? unwrap<MDFile>(File) : nullptr, Line, + Context ? DIDescriptor(unwrap<MDScope>(Context)) : DIDescriptor()); return wrap(DT); } |