Create safe LLVM bindings
steveklabnik opened this issue ยท 7 comments
Issue by brson
Saturday Aug 03, 2013 at 23:15 GMT
For earlier discussion, see rust-lang/rust#8274
This issue was labelled with: A-libs, A-llvm, E-tedious in the Rust repository
rustc's LLVM bindings are a bit of a hodgepodge. Some abstractions have been added on top of the C bindings, but not consistently. It would be nice to do some serious cleanup here so that rustc is using only safe, high-level bindings.
I've started work on safe LLVM bindings recently [1]. The work is in the very beginning (only small part of API is covered). My bindigs use llvm-sys [2] as unsafe bindings (not ones from rustc). Comments and pull requests are welcome. When something lacks in LLVM C API, I add wrappers for it and I have plans to push these wrappers upstream.
[1] https://github.com/jauhien/iron-llvm
[2] https://bitbucket.org/tari/llvm-sys.rs
There are also some other projects that are doing this:
Any news on this topic?
I am working on some rust ideomatic LLVM bindings right now: https://github.com/vaartis/llvm-rs
I am working on Inkwell which is a safe wrapper over llvm-sys. It's still early on, but I've got some neat ideas for providing a more pleasant and type-safe interface. Contributors are welcome :)
Any progress here? ๐
Closing in favor of the tracking issue rust-lang/rust#54892.