use super::*;
pub type LLVMDIFlags = ::libc::c_int;
pub const LLVMDIFlagZero: LLVMDIFlags = 0;
pub const LLVMDIFlagPrivate: LLVMDIFlags = 1;
pub const LLVMDIFlagProtected: LLVMDIFlags = 2;
pub const LLVMDIFlagPublic: LLVMDIFlags = 3;
pub const LLVMDIFlagFwdDecl: LLVMDIFlags = 1 << 2;
pub const LLVMDIFlagAppleBlock: LLVMDIFlags = 1 << 3;
pub const LLVMDIFlagReservedBit4: LLVMDIFlags = 1 << 4;
pub const LLVMDIFlagVirtual: LLVMDIFlags = 1 << 5;
pub const LLVMDIFlagArtificial: LLVMDIFlags = 1 << 6;
pub const LLVMDIFlagExplicit: LLVMDIFlags = 1 << 7;
pub const LLVMDIFlagPrototyped: LLVMDIFlags = 1 << 8;
pub const LLVMDIFlagObjcClassComplete: LLVMDIFlags = 1 << 9;
pub const LLVMDIFlagObjectPointer: LLVMDIFlags = 1 << 10;
pub const LLVMDIFlagVector: LLVMDIFlags = 1 << 11;
pub const LLVMDIFlagStaticMember: LLVMDIFlags = 1 << 12;
pub const LLVMDIFlagLValueReference: LLVMDIFlags = 1 << 13;
pub const LLVMDIFlagRValueReference: LLVMDIFlags = 1 << 14;
pub const LLVMDIFlagReserved: LLVMDIFlags = 1 << 15;
pub const LLVMDIFlagSingleInheritance: LLVMDIFlags = 1 << 16;
pub const LLVMDIFlagMultipleInheritance: LLVMDIFlags = 2 << 16;
pub const LLVMDIFlagVirtualInheritance: LLVMDIFlags = 3 << 16;
pub const LLVMDIFlagIntroducedVirtual: LLVMDIFlags = 1 << 18;
pub const LLVMDIFlagBitField: LLVMDIFlags = 1 << 19;
pub const LLVMDIFlagNoReturn: LLVMDIFlags = 1 << 20;
pub const LLVMDIFlagTypePassByValue: LLVMDIFlags = 1 << 22;
pub const LLVMDIFlagTypePassByReference: LLVMDIFlags = 1 << 23;
pub const LLVMDIFlagEnumClass: LLVMDIFlags = 1 << 24;
pub const LLVMDIFlagThunk: LLVMDIFlags = 1 << 25;
pub const LLVMDIFlagNonTrivial: LLVMDIFlags = 1 << 26;
pub const LLVMDIFlagBigendian: LLVMDIFlags = 1 << 27;
pub const LLVMDIFlagLittleEndian: LLVMDIFlags = 1 << 28;
pub const LLVMDIFlagIndirectVirtualBase: LLVMDIFlags = (1 << 2) | (1 << 5);
pub const LLVMDIFlagAccessibility: LLVMDIFlags =
LLVMDIFlagProtected | LLVMDIFlagPrivate | LLVMDIFlagPublic;
pub const LLVMDIFlagPtrToMemberRep: LLVMDIFlags =
LLVMDIFlagSingleInheritance | LLVMDIFlagMultipleInheritance | LLVMDIFlagVirtualInheritance;
#[repr(C)]
#[derive(Debug)]
pub enum LLVMDWARFSourceLanguage {
LLVMDWARFSourceLanguageC89,
LLVMDWARFSourceLanguageC,
LLVMDWARFSourceLanguageAda83,
LLVMDWARFSourceLanguageC_plus_plus,
LLVMDWARFSourceLanguageCobol74,
LLVMDWARFSourceLanguageCobol85,
LLVMDWARFSourceLanguageFortran77,
LLVMDWARFSourceLanguageFortran90,
LLVMDWARFSourceLanguagePascal83,
LLVMDWARFSourceLanguageModula2,
LLVMDWARFSourceLanguageJava,
LLVMDWARFSourceLanguageC99,
LLVMDWARFSourceLanguageAda95,
LLVMDWARFSourceLanguageFortran95,
LLVMDWARFSourceLanguagePLI,
LLVMDWARFSourceLanguageObjC,
LLVMDWARFSourceLanguageObjC_plus_plus,
LLVMDWARFSourceLanguageUPC,
LLVMDWARFSourceLanguageD,
LLVMDWARFSourceLanguagePython,
LLVMDWARFSourceLanguageOpenCL,
LLVMDWARFSourceLanguageGo,
LLVMDWARFSourceLanguageModula3,
LLVMDWARFSourceLanguageHaskell,
LLVMDWARFSourceLanguageC_plus_plus_03,
LLVMDWARFSourceLanguageC_plus_plus_11,
LLVMDWARFSourceLanguageOCaml,
LLVMDWARFSourceLanguageRust,
LLVMDWARFSourceLanguageC11,
LLVMDWARFSourceLanguageSwift,
LLVMDWARFSourceLanguageJulia,
LLVMDWARFSourceLanguageDylan,
LLVMDWARFSourceLanguageC_plus_plus_14,
LLVMDWARFSourceLanguageFortran03,
LLVMDWARFSourceLanguageFortran08,
LLVMDWARFSourceLanguageRenderScript,
LLVMDWARFSourceLanguageBLISS,
LLVMDWARFSourceLanguageKotlin,
LLVMDWARFSourceLanguageZig,
LLVMDWARFSourceLanguageCrystal,
LLVMDWARFSourceLanguageC_plus_plus_17,
LLVMDWARFSourceLanguageC_plus_plus_20,
LLVMDWARFSourceLanguageC17,
LLVMDWARFSourceLanguageFortran18,
LLVMDWARFSourceLanguageAda2005,
LLVMDWARFSourceLanguageAda2012,
LLVMDWARFSourceLanguageMojo,
LLVMDWARFSourceLanguageMips_Assembler,
LLVMDWARFSourceLanguageGOOGLE_RenderScript,
LLVMDWARFSourceLanguageBORLAND_Delphi,
}
#[repr(C)]
#[derive(Debug)]
pub enum LLVMDWARFEmissionKind {
LLVMDWARFEmissionKindNone = 0,
LLVMDWARFEmissionKindFull,
LLVMDWARFEmissionKindLineTablesOnly,
}
#[repr(C)]
#[derive(Debug)]
pub enum LLVMMetadataKind {
LLVMMDStringMetadataKind,
LLVMConstantAsMetadataMetadataKind,
LLVMLocalAsMetadataMetadataKind,
LLVMDistinctMDOperandPlaceholderMetadataKind,
LLVMMDTupleMetadataKind,
LLVMDILocationMetadataKind,
LLVMDIExpressionMetadataKind,
LLVMDIGlobalVariableExpressionMetadataKind,
LLVMGenericDINodeMetadataKind,
LLVMDISubrangeMetadataKind,
LLVMDIEnumeratorMetadataKind,
LLVMDIBasicTypeMetadataKind,
LLVMDIDerivedTypeMetadataKind,
LLVMDICompositeTypeMetadataKind,
LLVMDISubroutineTypeMetadataKind,
LLVMDIFileMetadataKind,
LLVMDICompileUnitMetadataKind,
LLVMDISubprogramMetadataKind,
LLVMDILexicalBlockMetadataKind,
LLVMDILexicalBlockFileMetadataKind,
LLVMDINamespaceMetadataKind,
LLVMDIModuleMetadataKind,
LLVMDITemplateTypeParameterMetadataKind,
LLVMDITemplateValueParameterMetadataKind,
LLVMDIGlobalVariableMetadataKind,
LLVMDILocalVariableMetadataKind,
LLVMDILabelMetadataKind,
LLVMDIObjCPropertyMetadataKind,
LLVMDIImportedEntityMetadataKind,
LLVMDIMacroMetadataKind,
LLVMDIMacroFileMetadataKind,
LLVMDICommonBlockMetadataKind,
LLVMDIStringTypeMetadataKind,
LLVMDIGenericSubrangeMetadataKind,
LLVMDIArgListMetadataKind,
LLVMDIAssignIDMetadataKind,
}
pub type LLVMDWARFTypeEncoding = ::libc::c_uint;
#[repr(C)]
#[derive(Debug)]
pub enum LLVMDWARFMacinfoRecordType {
LLVMDWARFMacinfoRecordTypeDefine = 0x01,
LLVMDWARFMacinfoRecordTypeMacro = 0x02,
LLVMDWARFMacinfoRecordTypeStartFile = 0x03,
LLVMDWARFMacinfoRecordTypeEndFile = 0x04,
LLVMDWARFMacinfoRecordTypeVendorExt = 0xff,
}
extern "C" {
pub fn LLVMDebugMetadataVersion() -> ::libc::c_uint;
pub fn LLVMGetModuleDebugMetadataVersion(Module: LLVMModuleRef) -> ::libc::c_uint;
pub fn LLVMStripModuleDebugInfo(Module: LLVMModuleRef) -> LLVMBool;
pub fn LLVMCreateDIBuilderDisallowUnresolved(M: LLVMModuleRef) -> LLVMDIBuilderRef;
pub fn LLVMCreateDIBuilder(M: LLVMModuleRef) -> LLVMDIBuilderRef;
pub fn LLVMDisposeDIBuilder(Builder: LLVMDIBuilderRef);
pub fn LLVMDIBuilderFinalize(Builder: LLVMDIBuilderRef);
pub fn LLVMDIBuilderFinalizeSubprogram(Builder: LLVMDIBuilderRef, Subprogram: LLVMMetadataRef);
pub fn LLVMDIBuilderCreateCompileUnit(
Builder: LLVMDIBuilderRef,
Lang: LLVMDWARFSourceLanguage,
FileRef: LLVMMetadataRef,
Producer: *const ::libc::c_char,
ProducerLen: ::libc::size_t,
isOptimized: LLVMBool,
Flags: *const ::libc::c_char,
FlagsLen: ::libc::size_t,
RuntimeVer: ::libc::c_uint,
SplitName: *const ::libc::c_char,
SplitNameLen: ::libc::size_t,
Kind: LLVMDWARFEmissionKind,
DWOId: ::libc::c_uint,
SplitDebugInlining: LLVMBool,
DebugInfoForProfiling: LLVMBool,
SysRoot: *const ::libc::c_char,
SysRootLen: ::libc::size_t,
SDK: *const ::libc::c_char,
SDKLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateFile(
Builder: LLVMDIBuilderRef,
Filename: *const ::libc::c_char,
FilenameLen: ::libc::size_t,
Directory: *const ::libc::c_char,
DirectoryLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateModule(
Builder: LLVMDIBuilderRef,
ParentScope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
ConfigMacros: *const ::libc::c_char,
ConfigMacrosLen: ::libc::size_t,
IncludePath: *const ::libc::c_char,
IncludePathLen: ::libc::size_t,
APINotesFile: *const ::libc::c_char,
APINotesFileLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateNameSpace(
Builder: LLVMDIBuilderRef,
ParentScope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
ExportSymbols: LLVMBool,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateFunction(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
LinkageName: *const ::libc::c_char,
LinkageNameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
Ty: LLVMMetadataRef,
IsLocalToUnit: LLVMBool,
IsDefinition: LLVMBool,
ScopeLine: ::libc::c_uint,
Flags: LLVMDIFlags,
IsOptimized: LLVMBool,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateLexicalBlock(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
Column: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateLexicalBlockFile(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
File: LLVMMetadataRef,
Discriminator: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateImportedModuleFromNamespace(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
NS: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateImportedModuleFromAlias(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
ImportedEntity: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateImportedModuleFromModule(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
M: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateImportedDeclaration(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Decl: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateDebugLocation(
Ctx: LLVMContextRef,
Line: ::libc::c_uint,
Column: ::libc::c_uint,
Scope: LLVMMetadataRef,
InlinedAt: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDILocationGetLine(Location: LLVMMetadataRef) -> ::libc::c_uint;
pub fn LLVMDILocationGetColumn(Location: LLVMMetadataRef) -> ::libc::c_uint;
pub fn LLVMDILocationGetScope(Location: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDILocationGetInlinedAt(Location: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDIScopeGetFile(Scope: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDIFileGetDirectory(
File: LLVMMetadataRef,
Len: *mut ::libc::c_uint,
) -> *const ::libc::c_char;
pub fn LLVMDIFileGetFilename(
File: LLVMMetadataRef,
Len: *mut ::libc::c_uint,
) -> *const ::libc::c_char;
pub fn LLVMDIFileGetSource(
File: LLVMMetadataRef,
Len: *mut ::libc::c_uint,
) -> *const ::libc::c_char;
pub fn LLVMDIBuilderGetOrCreateTypeArray(
Builder: LLVMDIBuilderRef,
Data: *mut LLVMMetadataRef,
NumElements: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateSubroutineType(
Builder: LLVMDIBuilderRef,
File: LLVMMetadataRef,
ParameterTypes: *mut LLVMMetadataRef,
NumParameterTypes: ::libc::c_uint,
Flags: LLVMDIFlags,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateMacro(
Builder: LLVMDIBuilderRef,
ParentMacroFile: LLVMMetadataRef,
Line: ::libc::c_uint,
RecordType: LLVMDWARFMacinfoRecordType,
Name: *const ::libc::c_char,
NameLen: usize,
Value: *const ::libc::c_char,
ValueLen: usize,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateTempMacroFile(
Builder: LLVMDIBuilderRef,
ParentMacroFile: LLVMMetadataRef,
Line: ::libc::c_uint,
File: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateEnumerator(
Builder: LLVMDIBuilderRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
Value: i64,
IsUnsigned: LLVMBool,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateEnumerationType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNumber: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
ClassTy: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateUnionType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNumber: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
Flags: LLVMDIFlags,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
RunTimeLang: ::libc::c_uint,
UniqueId: *const ::libc::c_char,
UniqueIdLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateArrayType(
Builder: LLVMDIBuilderRef,
Size: u64,
AlignInBits: u32,
Ty: LLVMMetadataRef,
Subscripts: *mut LLVMMetadataRef,
NumSubscripts: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateVectorType(
Builder: LLVMDIBuilderRef,
Size: u64,
AlignInBits: u32,
Ty: LLVMMetadataRef,
Subscripts: *mut LLVMMetadataRef,
NumSubscripts: ::libc::c_uint,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateUnspecifiedType(
Builder: LLVMDIBuilderRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateBasicType(
Builder: LLVMDIBuilderRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
SizeInBits: u64,
Encoding: LLVMDWARFTypeEncoding,
Flags: LLVMDIFlags,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreatePointerType(
Builder: LLVMDIBuilderRef,
PointeeTy: LLVMMetadataRef,
SizeInBits: u64,
AlignInBits: u32,
AddressSpace: ::libc::c_uint,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateStructType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNumber: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
Flags: LLVMDIFlags,
DerivedFrom: LLVMMetadataRef,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
RunTimeLang: ::libc::c_uint,
VTableHolder: LLVMMetadataRef,
UniqueId: *const ::libc::c_char,
UniqueIdLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateMemberType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
OffsetInBits: u64,
Flags: LLVMDIFlags,
Ty: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateStaticMemberType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNumber: ::libc::c_uint,
Type: LLVMMetadataRef,
Flags: LLVMDIFlags,
ConstantVal: LLVMValueRef,
AlignInBits: u32,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateMemberPointerType(
Builder: LLVMDIBuilderRef,
PointeeType: LLVMMetadataRef,
ClassType: LLVMMetadataRef,
SizeInBits: u64,
AlignInBits: u32,
Flags: LLVMDIFlags,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateObjCIVar(
Builder: LLVMDIBuilderRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
OffsetInBits: u64,
Flags: LLVMDIFlags,
Ty: LLVMMetadataRef,
PropertyNode: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateObjCProperty(
Builder: LLVMDIBuilderRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
GetterName: *const ::libc::c_char,
GetterNameLen: ::libc::size_t,
SetterName: *const ::libc::c_char,
SetterNameLen: ::libc::size_t,
PropertyAttributes: ::libc::c_uint,
Ty: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateObjectPointerType(
Builder: LLVMDIBuilderRef,
Type: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateQualifiedType(
Builder: LLVMDIBuilderRef,
Tag: ::libc::c_uint,
Type: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateReferenceType(
Builder: LLVMDIBuilderRef,
Tag: ::libc::c_uint,
Type: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateNullPtrType(Builder: LLVMDIBuilderRef) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateTypedef(
Builder: LLVMDIBuilderRef,
Type: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
Scope: LLVMMetadataRef,
AlignInBits: u32,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateInheritance(
Builder: LLVMDIBuilderRef,
Ty: LLVMMetadataRef,
BaseTy: LLVMMetadataRef,
BaseOffset: u64,
VBPtrOffset: u32,
Flags: LLVMDIFlags,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateForwardDecl(
Builder: LLVMDIBuilderRef,
Tag: ::libc::c_uint,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
Scope: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
RuntimeLang: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
UniqueIdentifier: *const ::libc::c_char,
UniqueIdentifierLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateReplaceableCompositeType(
Builder: LLVMDIBuilderRef,
Tag: ::libc::c_uint,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
Scope: LLVMMetadataRef,
File: LLVMMetadataRef,
Line: ::libc::c_uint,
RuntimeLang: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
Flags: LLVMDIFlags,
UniqueIdentifier: *const ::libc::c_char,
UniqueIdentifierLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateBitFieldMemberType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNumber: ::libc::c_uint,
SizeInBits: u64,
OffsetInBits: u64,
StorageOffsetInBits: u64,
Flags: LLVMDIFlags,
Type: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateClassType(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNumber: ::libc::c_uint,
SizeInBits: u64,
AlignInBits: u32,
OffsetInBits: u64,
Flags: LLVMDIFlags,
DerivedFrom: LLVMMetadataRef,
Elements: *mut LLVMMetadataRef,
NumElements: ::libc::c_uint,
VTableHolder: LLVMMetadataRef,
TemplateParamsNode: LLVMMetadataRef,
UniqueIdentifier: *const ::libc::c_char,
UniqueIdentifierLen: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateArtificialType(
Builder: LLVMDIBuilderRef,
Type: LLVMMetadataRef,
) -> LLVMMetadataRef;
pub fn LLVMDITypeGetName(
DType: LLVMMetadataRef,
Length: *mut ::libc::size_t,
) -> *const ::libc::c_char;
pub fn LLVMDITypeGetSizeInBits(DType: LLVMMetadataRef) -> u64;
pub fn LLVMDITypeGetOffsetInBits(DType: LLVMMetadataRef) -> u64;
pub fn LLVMDITypeGetAlignInBits(DType: LLVMMetadataRef) -> u32;
pub fn LLVMDITypeGetLine(DType: LLVMMetadataRef) -> ::libc::c_uint;
pub fn LLVMDITypeGetFlags(DType: LLVMMetadataRef) -> LLVMDIFlags;
pub fn LLVMDIBuilderGetOrCreateSubrange(
Builder: LLVMDIBuilderRef,
LowerBound: i64,
Count: i64,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderGetOrCreateArray(
Builder: LLVMDIBuilderRef,
Data: *mut LLVMMetadataRef,
NumElements: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateExpression(
Builder: LLVMDIBuilderRef,
Addr: *mut u64,
Length: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateConstantValueExpression(
Builder: LLVMDIBuilderRef,
Value: u64,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateGlobalVariableExpression(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
Linkage: *const ::libc::c_char,
LinkLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
Ty: LLVMMetadataRef,
LocalToUnit: LLVMBool,
Expr: LLVMMetadataRef,
Decl: LLVMMetadataRef,
AlignInBits: u32,
) -> LLVMMetadataRef;
pub fn LLVMGetDINodeTag(MD: LLVMMetadataRef) -> u16;
pub fn LLVMDIGlobalVariableExpressionGetVariable(GVE: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDIGlobalVariableExpressionGetExpression(GVE: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDIVariableGetFile(Var: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDIVariableGetScope(Var: LLVMMetadataRef) -> LLVMMetadataRef;
pub fn LLVMDIVariableGetLine(Var: LLVMMetadataRef) -> ::libc::c_uint;
pub fn LLVMTemporaryMDNode(
Ctx: LLVMContextRef,
Data: *mut LLVMMetadataRef,
NumElements: ::libc::size_t,
) -> LLVMMetadataRef;
pub fn LLVMDisposeTemporaryMDNode(TempNode: LLVMMetadataRef);
pub fn LLVMMetadataReplaceAllUsesWith(
TempTargetMetadata: LLVMMetadataRef,
Replacement: LLVMMetadataRef,
);
pub fn LLVMDIBuilderCreateTempGlobalVariableFwdDecl(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
Linkage: *const ::libc::c_char,
LnkLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
Ty: LLVMMetadataRef,
LocalToUnit: LLVMBool,
Decl: LLVMMetadataRef,
AlignInBits: u32,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderInsertDeclareBefore(
Builder: LLVMDIBuilderRef,
Storage: LLVMValueRef,
VarInfo: LLVMMetadataRef,
Expr: LLVMMetadataRef,
DebugLoc: LLVMMetadataRef,
Instr: LLVMValueRef,
) -> LLVMValueRef;
pub fn LLVMDIBuilderInsertDeclareAtEnd(
Builder: LLVMDIBuilderRef,
Storage: LLVMValueRef,
VarInfo: LLVMMetadataRef,
Expr: LLVMMetadataRef,
DebugLoc: LLVMMetadataRef,
Block: LLVMBasicBlockRef,
) -> LLVMValueRef;
pub fn LLVMDIBuilderInsertDbgValueBefore(
Builder: LLVMDIBuilderRef,
Val: LLVMValueRef,
VarInfo: LLVMMetadataRef,
Expr: LLVMMetadataRef,
DebugLoc: LLVMMetadataRef,
Instr: LLVMValueRef,
) -> LLVMValueRef;
pub fn LLVMDIBuilderInsertDbgValueAtEnd(
Builder: LLVMDIBuilderRef,
Val: LLVMValueRef,
VarInfo: LLVMMetadataRef,
Expr: LLVMMetadataRef,
DebugLoc: LLVMMetadataRef,
Block: LLVMBasicBlockRef,
) -> LLVMValueRef;
pub fn LLVMDIBuilderCreateAutoVariable(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
Ty: LLVMMetadataRef,
AlwaysPreserve: LLVMBool,
Flags: LLVMDIFlags,
AlignInBits: u32,
) -> LLVMMetadataRef;
pub fn LLVMDIBuilderCreateParameterVariable(
Builder: LLVMDIBuilderRef,
Scope: LLVMMetadataRef,
Name: *const ::libc::c_char,
NameLen: ::libc::size_t,
ArgNo: ::libc::c_uint,
File: LLVMMetadataRef,
LineNo: ::libc::c_uint,
Ty: LLVMMetadataRef,
AlwaysPreserve: LLVMBool,
Flags: LLVMDIFlags,
) -> LLVMMetadataRef;
pub fn LLVMGetSubprogram(Func: LLVMValueRef) -> LLVMMetadataRef;
pub fn LLVMSetSubprogram(Func: LLVMValueRef, SP: LLVMMetadataRef);
pub fn LLVMDISubprogramGetLine(Subprogram: LLVMMetadataRef) -> ::libc::c_uint;
pub fn LLVMInstructionGetDebugLoc(Inst: LLVMValueRef) -> LLVMMetadataRef;
pub fn LLVMInstructionSetDebugLoc(Inst: LLVMValueRef, Loc: LLVMMetadataRef);
pub fn LLVMGetMetadataKind(Metadata: LLVMMetadataRef) -> LLVMMetadataKind;
}