diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-04-16 16:36:23 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-04-16 16:36:23 +0000 |
commit | afc67405f8d3a755650a1cb4bb62ea76e21ed5fb (patch) | |
tree | 682d68cebeb0c5d6910872849ad70d67348f92c7 /bindings | |
parent | e2711530de0c6c0227abb08a7f90630c3ea4d304 (diff) |
DebugInfo: Remove DIDescriptor from the DIBuilder API
As a step toward killing `DIDescriptor` and its subclasses, remove it
from the `DIBuilder` API. Replace the subclasses with appropriate
pointers from the new debug info hierarchy. There are a couple of
possible surprises in type choices for out-of-tree frontends:
- Subroutine types: `MDSubroutineType`, not `MDCompositeTypeBase`.
- Composite types: `MDCompositeType`, not `MDCompositeTypeBase`.
- Scopes: `MDScope`, not `MDNode`.
- Generic debug info nodes: `DebugNode`, not `MDNode`.
This is part of PR23080.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235111 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/go/llvm/DIBuilderBindings.cpp | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/bindings/go/llvm/DIBuilderBindings.cpp b/bindings/go/llvm/DIBuilderBindings.cpp index e5734a7c0f3..cfae6053bfe 100644 --- a/bindings/go/llvm/DIBuilderBindings.cpp +++ b/bindings/go/llvm/DIBuilderBindings.cpp @@ -58,9 +58,8 @@ LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Dref, unsigned Line, unsigned Column) { DIBuilder *D = unwrap(Dref); - DILexicalBlock LB = - D->createLexicalBlock(DIDescriptor(unwrap<MDLocalScope>(Scope)), - unwrap<MDFile>(File), Line, Column); + auto *LB = D->createLexicalBlock(unwrap<MDLocalScope>(Scope), + unwrap<MDFile>(File), Line, Column); return wrap(LB); } @@ -69,9 +68,8 @@ LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Dref, LLVMMetadataRef File, unsigned Discriminator) { DIBuilder *D = unwrap(Dref); - DILexicalBlockFile LBF = - D->createLexicalBlockFile(DIDescriptor(unwrap<MDLocalScope>(Scope)), - unwrap<MDFile>(File), Discriminator); + DILexicalBlockFile LBF = D->createLexicalBlockFile( + unwrap<MDLocalScope>(Scope), unwrap<MDFile>(File), Discriminator); return wrap(LBF); } @@ -82,9 +80,9 @@ LLVMMetadataRef LLVMDIBuilderCreateFunction( unsigned ScopeLine, unsigned Flags, int IsOptimized, LLVMValueRef Func) { DIBuilder *D = unwrap(Dref); DISubprogram SP = D->createFunction( - DIDescriptor(unwrap<MDScope>(Scope)), Name, LinkageName, + unwrap<MDScope>(Scope), Name, LinkageName, File ? unwrap<MDFile>(File) : nullptr, Line, - unwrap<MDCompositeTypeBase>(CompositeType), IsLocalToUnit, IsDefinition, + unwrap<MDSubroutineType>(CompositeType), IsLocalToUnit, IsDefinition, ScopeLine, Flags, IsOptimized, unwrap<Function>(Func)); return wrap(SP); } @@ -95,8 +93,8 @@ LLVMMetadataRef LLVMDIBuilderCreateLocalVariable( int AlwaysPreserve, unsigned Flags, unsigned ArgNo) { DIBuilder *D = unwrap(Dref); DIVariable V = D->createLocalVariable( - Tag, DIDescriptor(unwrap<MDScope>(Scope)), Name, unwrap<MDFile>(File), - Line, unwrap<MDType>(Ty), AlwaysPreserve, Flags, ArgNo); + Tag, unwrap<MDScope>(Scope), Name, unwrap<MDFile>(File), Line, + unwrap<MDType>(Ty), AlwaysPreserve, Flags, ArgNo); return wrap(V); } @@ -138,9 +136,9 @@ LLVMMetadataRef LLVMDIBuilderCreateStructType( LLVMMetadataRef ElementTypes) { DIBuilder *D = unwrap(Dref); DICompositeType CT = D->createStructType( - DIDescriptor(unwrap<MDScope>(Scope)), Name, - File ? unwrap<MDFile>(File) : nullptr, Line, SizeInBits, AlignInBits, - Flags, DerivedFrom ? unwrap<MDType>(DerivedFrom) : nullptr, + 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); } @@ -152,9 +150,8 @@ LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType( unsigned Flags) { DIBuilder *D = unwrap(Dref); DICompositeType CT = D->createReplaceableCompositeType( - Tag, Name, DIDescriptor(unwrap<MDScope>(Scope)), - File ? unwrap<MDFile>(File) : nullptr, Line, RuntimeLang, SizeInBits, - AlignInBits, Flags); + Tag, Name, unwrap<MDScope>(Scope), File ? unwrap<MDFile>(File) : nullptr, + Line, RuntimeLang, SizeInBits, AlignInBits, Flags); return wrap(CT); } @@ -166,9 +163,8 @@ LLVMDIBuilderCreateMemberType(LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, unsigned Flags, LLVMMetadataRef Ty) { DIBuilder *D = unwrap(Dref); DIDerivedType DT = D->createMemberType( - DIDescriptor(unwrap<MDScope>(Scope)), Name, - File ? unwrap<MDFile>(File) : nullptr, Line, SizeInBits, AlignInBits, - OffsetInBits, Flags, unwrap<MDType>(Ty)); + unwrap<MDScope>(Scope), Name, File ? unwrap<MDFile>(File) : nullptr, Line, + SizeInBits, AlignInBits, OffsetInBits, Flags, unwrap<MDType>(Ty)); return wrap(DT); } @@ -191,7 +187,7 @@ LLVMMetadataRef LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Dref, DIBuilder *D = unwrap(Dref); DIDerivedType DT = D->createTypedef( unwrap<MDType>(Ty), Name, File ? unwrap<MDFile>(File) : nullptr, Line, - Context ? DIDescriptor(unwrap<MDScope>(Context)) : DIDescriptor()); + Context ? unwrap<MDScope>(Context) : nullptr); return wrap(DT); } |