diff options
| author | Ariel Ben-Yehuda <ariel.byd@gmail.com> | 2016-08-02 00:16:16 +0300 |
|---|---|---|
| committer | Ariel Ben-Yehuda <arielb1@mail.tau.ac.il> | 2016-08-03 15:08:47 +0300 |
| commit | 696691e3c4f2b3aa02fbd1cc76dc2f7e8a401db8 (patch) | |
| tree | b74e88f26e0a6d2f5d3ff114efe34fbd6b805223 /src/rustllvm/README | |
| parent | 81df89fc2d6ba1b55ab20b0615b8523a6e90963f (diff) | |
| download | rust-696691e3c4f2b3aa02fbd1cc76dc2f7e8a401db8.tar.gz rust-696691e3c4f2b3aa02fbd1cc76dc2f7e8a401db8.zip | |
audit LLVM C++ types in ArchiveWrapper and PassWrapper
Diffstat (limited to 'src/rustllvm/README')
| -rw-r--r-- | src/rustllvm/README | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/rustllvm/README b/src/rustllvm/README index c0db3f68a76..e1c6dd07d2b 100644 --- a/src/rustllvm/README +++ b/src/rustllvm/README @@ -1,2 +1,16 @@ 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. |
