예제 #1
0
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);
}
예제 #2
0
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)));
}
예제 #3
0
파일: dibuilder.cpp 프로젝트: go-llvm/llvm
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);
}