LLVMValueRef LLVMDIBuilderCreateEnumerationType(
  LLVMDIBuilderRef D,
  LLVMValueRef Scope,
  const char *Name,
  LLVMValueRef File,
  unsigned LineNumber,
  uint64_t SizeInBits,
  uint64_t AlignInBits,
  LLVMValueRef Elements,
  LLVMValueRef UnderlyingType,
  const char *UniqueIdentifier)
{
  DIBuilder *db = unwrap(D);
  DICompositeType CT = db->createEnumerationType(
    unwrapDI<DIDescriptor>(Scope),
    Name,
    unwrapDI<DIFile>(File),
    LineNumber,
    SizeInBits,
    AlignInBits,
    unwrapDI<DIArray>(Elements),
    unwrapDI<DIType>(UnderlyingType),
    UniqueIdentifier);
  return wrap(CT);
}