-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdebuginfo.zig
91 lines (90 loc) · 17.6 KB
/
debuginfo.zig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const LLVMtype = @import("types.zig");
pub extern fn LLVMDebugMetadataVersion() c_uint;
pub extern fn LLVMGetModuleDebugMetadataVersion(Module: LLVMtype.LLVMModuleRef) c_uint;
pub extern fn LLVMStripModuleDebugInfo(Module: LLVMtype.LLVMModuleRef) LLVMtype.LLVMBool;
pub extern fn LLVMCreateDIBuilderDisallowUnresolved(M: LLVMtype.LLVMModuleRef) LLVMtype.LLVMDIBuilderRef;
pub extern fn LLVMCreateDIBuilder(M: LLVMtype.LLVMModuleRef) LLVMtype.LLVMDIBuilderRef;
pub extern fn LLVMDisposeDIBuilder(Builder: LLVMtype.LLVMDIBuilderRef) void;
pub extern fn LLVMDIBuilderFinalize(Builder: LLVMtype.LLVMDIBuilderRef) void;
pub extern fn LLVMDIBuilderFinalizeSubprogram(Builder: LLVMtype.LLVMDIBuilderRef, Subprogram: LLVMtype.LLVMMetadataRef) void;
pub extern fn LLVMDIBuilderCreateCompileUnit(Builder: LLVMtype.LLVMDIBuilderRef, Lang: LLVMtype.LLVMDWARFSourceLanguage, FileRef: LLVMtype.LLVMMetadataRef, Producer: [*:0]const u8, ProducerLen: usize, isOptimized: LLVMtype.LLVMBool, Flags: [*:0]const u8, FlagsLen: usize, RuntimeVer: c_uint, SplitName: [*:0]const u8, SplitNameLen: usize, Kind: LLVMtype.LLVMDWARFEmissionKind, DWOId: c_uint, SplitDebugInlining: LLVMtype.LLVMBool, DebugInfoForProfiling: LLVMtype.LLVMBool, SysRoot: [*:0]const u8, SysRootLen: usize, SDK: [*:0]const u8, SDKLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateFile(Builder: LLVMtype.LLVMDIBuilderRef, Filename: [*:0]const u8, FilenameLen: usize, Directory: [*:0]const u8, DirectoryLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateModule(Builder: LLVMtype.LLVMDIBuilderRef, ParentScope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, ConfigMacros: [*:0]const u8, ConfigMacrosLen: usize, IncludePath: [*:0]const u8, IncludePathLen: usize, APINotesFile: [*:0]const u8, APINotesFileLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateNameSpace(Builder: LLVMtype.LLVMDIBuilderRef, ParentScope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, ExportSymbols: LLVMtype.LLVMBool) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateFunction(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, LinkageName: [*:0]const u8, LinkageNameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, Ty: LLVMtype.LLVMMetadataRef, IsLocalToUnit: LLVMtype.LLVMBool, IsDefinition: LLVMtype.LLVMBool, ScopeLine: c_uint, Flags: LLVMtype.LLVMDIFlags, IsOptimized: LLVMtype.LLVMBool) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateLexicalBlock(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint, Column: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateLexicalBlockFile(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Discriminator: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateImportedModuleFromNamespace(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, NS: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateImportedModuleFromAlias(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, ImportedEntity: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateImportedModuleFromModule(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, M: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateImportedDeclaration(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Decl: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint, Name: [*:0]const u8, NameLen: usize, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateDebugLocation(Ctx: LLVMtype.LLVMContextRef, Line: c_uint, Column: c_uint, Scope: LLVMtype.LLVMMetadataRef, InlinedAt: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDILocationGetLine(Location: LLVMtype.LLVMMetadataRef) c_uint;
pub extern fn LLVMDILocationGetColumn(Location: LLVMtype.LLVMMetadataRef) c_uint;
pub extern fn LLVMDILocationGetScope(Location: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDILocationGetInlinedAt(Location: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIScopeGetFile(Scope: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIFileGetDirectory(File: LLVMtype.LLVMMetadataRef, Len: [*c]c_uint) [*:0]const u8;
pub extern fn LLVMDIFileGetFilename(File: LLVMtype.LLVMMetadataRef, Len: [*c]c_uint) [*:0]const u8;
pub extern fn LLVMDIFileGetSource(File: LLVMtype.LLVMMetadataRef, Len: [*c]c_uint) [*:0]const u8;
pub extern fn LLVMDIBuilderGetOrCreateTypeArray(Builder: LLVMtype.LLVMDIBuilderRef, Data: [*c]LLVMtype.LLVMMetadataRef, NumElements: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateSubroutineType(Builder: LLVMtype.LLVMDIBuilderRef, File: LLVMtype.LLVMMetadataRef, ParameterTypes: [*c]LLVMtype.LLVMMetadataRef, NumParameterTypes: c_uint, Flags: LLVMtype.LLVMDIFlags) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateMacro(Builder: LLVMtype.LLVMDIBuilderRef, ParentMacroFile: LLVMtype.LLVMMetadataRef, Line: c_uint, RecordType: LLVMtype.LLVMDWARFMacinfoRecordType, Name: [*:0]const u8, NameLen: usize, Value: [*:0]const u8, ValueLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateTempMacroFile(Builder: LLVMtype.LLVMDIBuilderRef, ParentMacroFile: LLVMtype.LLVMMetadataRef, Line: c_uint, File: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateEnumerator(Builder: LLVMtype.LLVMDIBuilderRef, Name: [*:0]const u8, NameLen: usize, Value: i64, IsUnsigned: LLVMtype.LLVMBool) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateEnumerationType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNumber: c_uint, SizeInBits: u64, AlignInBits: u32, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint, ClassTy: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateUnionType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNumber: c_uint, SizeInBits: u64, AlignInBits: u32, Flags: LLVMtype.LLVMDIFlags, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint, RunTimeLang: c_uint, UniqueId: [*:0]const u8, UniqueIdLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateArrayType(Builder: LLVMtype.LLVMDIBuilderRef, Size: u64, AlignInBits: u32, Ty: LLVMtype.LLVMMetadataRef, Subscripts: [*c]LLVMtype.LLVMMetadataRef, NumSubscripts: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateVectorType(Builder: LLVMtype.LLVMDIBuilderRef, Size: u64, AlignInBits: u32, Ty: LLVMtype.LLVMMetadataRef, Subscripts: [*c]LLVMtype.LLVMMetadataRef, NumSubscripts: c_uint) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateUnspecifiedType(Builder: LLVMtype.LLVMDIBuilderRef, Name: [*:0]const u8, NameLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateBasicType(Builder: LLVMtype.LLVMDIBuilderRef, Name: [*:0]const u8, NameLen: usize, SizeInBits: u64, Encoding: LLVMtype.LLVMDWARFTypeEncoding, Flags: LLVMtype.LLVMDIFlags) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreatePointerType(Builder: LLVMtype.LLVMDIBuilderRef, PointeeTy: LLVMtype.LLVMMetadataRef, SizeInBits: u64, AlignInBits: u32, AddressSpace: c_uint, Name: [*:0]const u8, NameLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateStructType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNumber: c_uint, SizeInBits: u64, AlignInBits: u32, Flags: LLVMtype.LLVMDIFlags, DerivedFrom: LLVMtype.LLVMMetadataRef, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint, RunTimeLang: c_uint, VTableHolder: LLVMtype.LLVMMetadataRef, UniqueId: [*:0]const u8, UniqueIdLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateMemberType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, SizeInBits: u64, AlignInBits: u32, OffsetInBits: u64, Flags: LLVMtype.LLVMDIFlags, Ty: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateStaticMemberType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNumber: c_uint, Type: LLVMtype.LLVMMetadataRef, Flags: LLVMtype.LLVMDIFlags, ConstantVal: LLVMtype.LLVMValueRef, AlignInBits: u32) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateMemberPointerType(Builder: LLVMtype.LLVMDIBuilderRef, PointeeType: LLVMtype.LLVMMetadataRef, ClassType: LLVMtype.LLVMMetadataRef, SizeInBits: u64, AlignInBits: u32, Flags: LLVMtype.LLVMDIFlags) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateObjCIVar(Builder: LLVMtype.LLVMDIBuilderRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, SizeInBits: u64, AlignInBits: u32, OffsetInBits: u64, Flags: LLVMtype.LLVMDIFlags, Ty: LLVMtype.LLVMMetadataRef, PropertyNode: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateObjCProperty(Builder: LLVMtype.LLVMDIBuilderRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, GetterName: [*:0]const u8, GetterNameLen: usize, SetterName: [*:0]const u8, SetterNameLen: usize, PropertyAttributes: c_uint, Ty: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateObjectPointerType(Builder: LLVMtype.LLVMDIBuilderRef, Type: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateQualifiedType(Builder: LLVMtype.LLVMDIBuilderRef, Tag: c_uint, Type: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateReferenceType(Builder: LLVMtype.LLVMDIBuilderRef, Tag: c_uint, Type: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateNullPtrType(Builder: LLVMtype.LLVMDIBuilderRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateTypedef(Builder: LLVMtype.LLVMDIBuilderRef, Type: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, Scope: LLVMtype.LLVMMetadataRef, AlignInBits: u32) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateInheritance(Builder: LLVMtype.LLVMDIBuilderRef, Ty: LLVMtype.LLVMMetadataRef, BaseTy: LLVMtype.LLVMMetadataRef, BaseOffset: u64, VBPtrOffset: u32, Flags: LLVMtype.LLVMDIFlags) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateForwardDecl(Builder: LLVMtype.LLVMDIBuilderRef, Tag: c_uint, Name: [*:0]const u8, NameLen: usize, Scope: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint, RuntimeLang: c_uint, SizeInBits: u64, AlignInBits: u32, UniqueIdentifier: [*:0]const u8, UniqueIdentifierLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateReplaceableCompositeType(Builder: LLVMtype.LLVMDIBuilderRef, Tag: c_uint, Name: [*:0]const u8, NameLen: usize, Scope: LLVMtype.LLVMMetadataRef, File: LLVMtype.LLVMMetadataRef, Line: c_uint, RuntimeLang: c_uint, SizeInBits: u64, AlignInBits: u32, Flags: LLVMtype.LLVMDIFlags, UniqueIdentifier: [*:0]const u8, UniqueIdentifierLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateBitFieldMemberType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNumber: c_uint, SizeInBits: u64, OffsetInBits: u64, StorageOffsetInBits: u64, Flags: LLVMtype.LLVMDIFlags, Type: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateClassType(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNumber: c_uint, SizeInBits: u64, AlignInBits: u32, OffsetInBits: u64, Flags: LLVMtype.LLVMDIFlags, DerivedFrom: LLVMtype.LLVMMetadataRef, Elements: [*c]LLVMtype.LLVMMetadataRef, NumElements: c_uint, VTableHolder: LLVMtype.LLVMMetadataRef, TemplateParamsNode: LLVMtype.LLVMMetadataRef, UniqueIdentifier: [*:0]const u8, UniqueIdentifierLen: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateArtificialType(Builder: LLVMtype.LLVMDIBuilderRef, Type: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDITypeGetName(DType: LLVMtype.LLVMMetadataRef, Length: [*c]usize) [*:0]const u8;
pub extern fn LLVMDITypeGetSizeInBits(DType: LLVMtype.LLVMMetadataRef) u64;
pub extern fn LLVMDITypeGetOffsetInBits(DType: LLVMtype.LLVMMetadataRef) u64;
pub extern fn LLVMDITypeGetAlignInBits(DType: LLVMtype.LLVMMetadataRef) u32;
pub extern fn LLVMDITypeGetLine(DType: LLVMtype.LLVMMetadataRef) c_uint;
pub extern fn LLVMDITypeGetFlags(DType: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMDIFlags;
pub extern fn LLVMDIBuilderGetOrCreateSubrange(Builder: LLVMtype.LLVMDIBuilderRef, LowerBound: i64, Count: i64) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderGetOrCreateArray(Builder: LLVMtype.LLVMDIBuilderRef, Data: [*c]LLVMtype.LLVMMetadataRef, NumElements: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateExpression(Builder: LLVMtype.LLVMDIBuilderRef, Addr: [*c]u64, Length: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateConstantValueExpression(Builder: LLVMtype.LLVMDIBuilderRef, Value: u64) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateGlobalVariableExpression(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, Linkage: [*:0]const u8, LinkLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, Ty: LLVMtype.LLVMMetadataRef, LocalToUnit: LLVMtype.LLVMBool, Expr: LLVMtype.LLVMMetadataRef, Decl: LLVMtype.LLVMMetadataRef, AlignInBits: u32) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIGlobalVariableExpressionGetVariable(GVE: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIGlobalVariableExpressionGetExpression(GVE: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIVariableGetFile(Var: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIVariableGetScope(Var: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIVariableGetLine(Var: LLVMtype.LLVMMetadataRef) c_uint;
pub extern fn LLVMTemporaryMDNode(Ctx: LLVMtype.LLVMContextRef, Data: [*c]LLVMtype.LLVMMetadataRef, NumElements: usize) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDisposeTemporaryMDNode(TempNode: LLVMtype.LLVMMetadataRef) void;
pub extern fn LLVMMetadataReplaceAllUsesWith(TempTargetMetadata: LLVMtype.LLVMMetadataRef, Replacement: LLVMtype.LLVMMetadataRef) void;
pub extern fn LLVMDIBuilderCreateTempGlobalVariableFwdDecl(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, Linkage: [*:0]const u8, LnkLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, Ty: LLVMtype.LLVMMetadataRef, LocalToUnit: LLVMtype.LLVMBool, Decl: LLVMtype.LLVMMetadataRef, AlignInBits: u32) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderInsertDeclareBefore(Builder: LLVMtype.LLVMDIBuilderRef, Storage: LLVMtype.LLVMValueRef, VarInfo: LLVMtype.LLVMMetadataRef, Expr: LLVMtype.LLVMMetadataRef, DebugLoc: LLVMtype.LLVMMetadataRef, Instr: LLVMtype.LLVMValueRef) LLVMtype.LLVMValueRef;
pub extern fn LLVMDIBuilderInsertDeclareAtEnd(Builder: LLVMtype.LLVMDIBuilderRef, Storage: LLVMtype.LLVMValueRef, VarInfo: LLVMtype.LLVMMetadataRef, Expr: LLVMtype.LLVMMetadataRef, DebugLoc: LLVMtype.LLVMMetadataRef, Block: LLVMtype.LLVMBasicBlockRef) LLVMtype.LLVMValueRef;
pub extern fn LLVMDIBuilderInsertDbgValueBefore(Builder: LLVMtype.LLVMDIBuilderRef, Val: LLVMtype.LLVMValueRef, VarInfo: LLVMtype.LLVMMetadataRef, Expr: LLVMtype.LLVMMetadataRef, DebugLoc: LLVMtype.LLVMMetadataRef, Instr: LLVMtype.LLVMValueRef) LLVMtype.LLVMValueRef;
pub extern fn LLVMDIBuilderInsertDbgValueAtEnd(Builder: LLVMtype.LLVMDIBuilderRef, Val: LLVMtype.LLVMValueRef, VarInfo: LLVMtype.LLVMMetadataRef, Expr: LLVMtype.LLVMMetadataRef, DebugLoc: LLVMtype.LLVMMetadataRef, Block: LLVMtype.LLVMBasicBlockRef) LLVMtype.LLVMValueRef;
pub extern fn LLVMDIBuilderCreateAutoVariable(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, Ty: LLVMtype.LLVMMetadataRef, AlwaysPreserve: LLVMtype.LLVMBool, Flags: LLVMtype.LLVMDIFlags, AlignInBits: u32) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMDIBuilderCreateParameterVariable(Builder: LLVMtype.LLVMDIBuilderRef, Scope: LLVMtype.LLVMMetadataRef, Name: [*:0]const u8, NameLen: usize, ArgNo: c_uint, File: LLVMtype.LLVMMetadataRef, LineNo: c_uint, Ty: LLVMtype.LLVMMetadataRef, AlwaysPreserve: LLVMtype.LLVMBool, Flags: LLVMtype.LLVMDIFlags) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMGetSubprogram(Func: LLVMtype.LLVMValueRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMSetSubprogram(Func: LLVMtype.LLVMValueRef, SP: LLVMtype.LLVMMetadataRef) void;
pub extern fn LLVMDISubprogramGetLine(Subprogram: LLVMtype.LLVMMetadataRef) c_uint;
pub extern fn LLVMInstructionGetDebugLoc(Inst: LLVMtype.LLVMValueRef) LLVMtype.LLVMMetadataRef;
pub extern fn LLVMInstructionSetDebugLoc(Inst: LLVMtype.LLVMValueRef, Loc: LLVMtype.LLVMMetadataRef) void;
pub extern fn LLVMGetMetadataKind(Metadata: LLVMtype.LLVMMetadataRef) LLVMtype.LLVMMetadataKind;