]> git.proxmox.com Git - rustc.git/blobdiff - src/rustllvm/README
New upstream version 1.12.0+dfsg1
[rustc.git] / src / rustllvm / README
index c0db3f68a76208904fd788122dfc19fdfaccf099..e1c6dd07d2b3856a5a2050a8551474123f7a56c3 100644 (file)
@@ -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.