mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
1363cdaec9
LLVM Core C bindings provide this function for all the versions back to what we support (3.7), and helps to avoid this unnecessary builder->function transition every time. Also a negative diff. |
||
---|---|---|
.. | ||
ArchiveWrapper.cpp | ||
llvm-auto-clean-trigger | ||
PassWrapper.cpp | ||
README | ||
rustllvm.h | ||
RustWrapper.cpp |
This directory currently contains some LLVM support code. This will generally be sent upstream to LLVM in time; for now it lives here. NOTE: the LLVM C++ ABI is subject to between-version breakage and must *never* be exposed to Rust. To allow for easy auditing of that, all Rust-exposed types must be typedef-ed as "LLVMXyz", or "LLVMRustXyz" if they were defined here. Functions that return a failure status and leave the error in the LLVM last error should return an LLVMRustResult rather than an int or anything to avoid confusion. When translating enums, add a single `Other` variant as the first one to allow for new variants to be added. It should abort when used as an input. All other types must not be typedef-ed as such.