[cfe-dev] CABI project

John McCall rjmccall at apple.com
Tue Oct 16 14:35:24 PDT 2012


On Oct 16, 2012, at 2:24 PM, Dave Abrahams wrote:

> 
> on Tue Oct 16 2012, John McCall <rjmccall-AT-apple.com> wrote:
> 
>> On Oct 16, 2012, at 12:11 PM, Dave Abrahams wrote:
>>> on Tue Oct 16 2012, John McCall <rjmccall-AT-apple.com> wrote:
>>>> On Oct 16, 2012, at 11:45 AM, Dave Abrahams wrote:
>>>>> I'm working on a project to separate from Clang all the logic necessary
>>>>> to generate C/C++/ObjC-ABI-compatible code so that other front-ends,
>>>>> both C family (e.g. Dragonegg, and in BoostPro's case, EDG) and other
>>>>> languages/code generators, can interoperate with C family code.
>>>> 
>>>> So, specifically, this would be some sort of API where you give it a C
>>>> function type and it tells you how to pass those arguments in LLVM IR?
>>> 
>>> Oh, way more than that.  It has to deal with exception-handling, object
>>> layout, vtable layout, yada yada... and probably a few
>>> ObjectiveC-specific things I don't know about (not being versed in
>>> ObjC).
>> 
>> Oh, uh, that's an enormous project.  
> 
> Quite so.
> 
>> In what way, precisely, is this not a proposal to reinvent all of
>> IR-generation as another level of abstraction?
> 
> I'm not sure whether it amounts to that, but I suppose it could
> eventually end up there, in the long-term.  Initially I'm interested in
> abstracting out enough to handle C, which I think mostly just amounts to
> what you said above, i.e. argument passing, (and, I guess, varargs
> interpretation).  

I think that's a good problem space to work in, and it's one that could
be extremely useful to a large number of projects (including clang).

John.



More information about the cfe-dev mailing list