Moving headers from lib/ to include

Hi folks,

I’m trying to tidy up my clang-based C++ interface for julia (https://github.com/Keno/Cxx.jl).
At the moment it uses a number of private clang headers and interface, so I’m hoping to
either make those interfaces public upstream or refactor things to avoid using those
interfaces. As a first step, there are a number of headers that are in lib/ as opposed to
include/ that I’m using, so I’d like to see what would be required to move them there.
I know there’s been a thread on this before, but I can’t find it at the moment.

Here’s the list of headers in lib/ that I currently use

Sema/TypeLocBuilder.h
Parse/RAIIObjectsForParser.h
CodeGen/CodeGenModule.h
CodeGen/CodeGenTypes.h
CodeGen/CodeGenFunction.h
CodeGen/CGCXXABI.h

Would a patch to move these (and any others they may depend upon) to include/
be acceptable?

Thanks,
Keno

Keno,

Probably you'd need to describe what exactly you're using from these headers.

I need to hook into parsing and codegen at a rather low level. On the parsing side, primarily I need to parse function bodies without their declaration, but there is a couple of other utilities I need, e.g. parsing plain type names. I also hook into parsing to make sure I can emit things
incrementally. On the codegen side, I need a bit more. I use CodeGenFunction to emit calls to C++ functions directly into my own IR and CodeGenModule to emit entire C++ definitions (which then get passed off to my own ExecutionEngine).

+1. We have been struggling with that too. It would help cleaning up our code in cling.