llvm-d

Moritz Maxeiner moritz at ucworks.org
Fri Mar 22 11:41:55 PDT 2013


On Friday, 22 March 2013 at 17:16:26 UTC, Jens Mueller wrote:
> Moritz Maxeiner wrote:
>> On Friday, 22 March 2013 at 08:34:11 UTC, Jens Mueller wrote:
>> >Updated documentation
>> >http://jkm.github.com/d-programming-language.org/deimos.html
>> 
>> NIice, but conforming to the following would create too much 
>> work
>> for me:
>> 
>> "For each file a proper module declaration has to be provided"
>> 
>> Since files in llvm-c appear and dissappear across different 
>> LLVM
>> versions, you would eventually have to keep files around that 
>> are
>> many LLVM versions old.
>
> Really. I thought the C API was expected to be more stable.
> Also it's not yet clear how to manage multiple versions of the 
> same
> library in Deimos. But your feedback helps sharpening which 
> issues
> should be addressed by Deimos. Thanks.

Afaict in the rang from 3.1 to 3.3svn it has happened two times:
- The "Enhanced Disassembly" header exists in 3.2, but has 
vanished in the trunk.
- The "Linker" header has been added in 3.2 and it is also an 
example of the short files. It contains only a single function 
"LLVMLinkModules" and a single enum for one of the that 
function's parameters.

> Assuming I can spend some time on deimos-llvm would you switch? 
> I mean I
> have 3.1. Adding 3.2 is possible. But I would need you to use 
> it and
> check that it works for your higher level API.

I could add support for it via a version flag. E.g. set 
-version=DEIMOS_LLVM or something similar. That way someone using 
llvm-d can choose to either use the included C bindings or use 
your deimos compatible ones. My only concern would be that the 
LLVM C function signatures would have to be translated in the 
same, or at least a compatible way in both my C bindings and the 
deimos ones, so using either of them would just be a matter of 
which import statement to use.
Since I've translated them pretty much strictly according to the 
"interfacing with c" guideline that's probably the case already, 
but I'd have to try it out first.


More information about the Digitalmars-d-announce mailing list