LLVMValueRef LLVMDIBuilderCreateMemberType( LLVMDIBuilderRef D, LLVMValueRef Scope, const char *Name, LLVMValueRef File, unsigned Line, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, LLVMValueRef Ty) { DIBuilder *db = unwrap(D); DIDerivedType DT = db->createMemberType( unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIFile>(File), Line, SizeInBits, AlignInBits, OffsetInBits, Flags, unwrapDI<DIType>(Ty)); return wrap(DT); }
LLVMMetadataRef LLVMDIBuilderCreateMemberType(LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, const char *Name, LLVMMetadataRef File, unsigned Line, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, LLVMMetadataRef Ty) { DIBuilder *D = unwrap(Dref); return wrap(D->createMemberType( unwrap<DIScope>(Scope), Name, File ? unwrap<DIFile>(File) : nullptr, Line, SizeInBits, AlignInBits, OffsetInBits, Flags, unwrap<DIType>(Ty))); }
LLVMValueRef DIBuilderCreateMemberType(LLVMDIBuilderRef dref, LLVMValueRef diScope, const char *name, LLVMValueRef diFile, unsigned line, uint64_t sizeInBits, uint64_t alignInBits, uint64_t offsetInBits, unsigned flags, LLVMValueRef diType) { DIBuilder *d = unwrap(dref); DIDerivedType dt = d->createMemberType( unwrapDI<DIDescriptor>(diScope), StringRef(name), unwrapDI<DIFile>(diFile), line, sizeInBits, alignInBits, offsetInBits, flags, unwrapDI<DIType>(diType)); return wrap(dt); }