Add DIBuilder Type APIs to C API

Authored by harlanhaskins on Nov 2 2017, 1:17 PM.



This builds off of r317135 and implements the suite of DebugInfo APIs
for constructing types.

This includes:

  • LLVMDIBuilderCreateSubroutineType
  • LLVMDIBuilderCreateEnumerationType
  • LLVMDIBuilderCreateUnionType
  • LLVMDIBuilderCreateArrayType
  • LLVMDIBuilderCreateVectorType
  • LLVMDIBuilderCreateUnspecifiedType
  • LLVMDIBuilderCreateBasicType
  • LLVMDIBuilderCreatePointerType
  • LLVMDIBuilderCreateStructType
  • LLVMDIBuilderCreateMemberType
  • LLVMDIBuilderCreateStaticMemberType
  • LLVMDIBuilderCreateMemberPointerType
  • LLVMDIBuilderCreateObjectPointerType
  • LLVMDIBuilderCreateQualifiedType
  • LLVMDIBuilderCreateReferenceType
  • LLVMDIBuilderCreateNullPtrType
  • LLVMDIBuilderCreateReplaceableCompositeType
  • LLVMDIBuilderCreateReplaceableCompositeType
  • LLVMDIBuilderCreateBitFieldMemberType
  • LLVMDIBuilderCreateClassType
  • LLVMDIBuilderCreateArtificialType

Add some type APIs to the test file

harlanhaskins created this revision.Nov 2 2017, 1:17 PM

This needs more comprehensive testing but I wanted to get an initial code review pass over this. Thanks y'all!

whitequark accepted this revision.Nov 2 2017, 1:44 PM
This revision is now accepted and ready to land.Nov 2 2017, 1:44 PM
  • Update comments to /** style
  • Fix c-style doc comment

@harlanhaskins Since you already have one patch in, can you please ask for commit access (see the LLVM docs for how to do it) and commit this yourself?

Before I commit this: @echristo this is also going to obviate some of the Go bindings and require changes...