]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #37831 - rkruppe:llvm-attr-fwdcompat, r=eddyb
authorbors <bors@rust-lang.org>
Sat, 19 Nov 2016 22:39:25 +0000 (16:39 -0600)
committerGitHub <noreply@github.com>
Sat, 19 Nov 2016 22:39:25 +0000 (16:39 -0600)
[LLVM 4.0] Use llvm::Attribute APIs instead of "raw value" APIs

The latter will be removed in LLVM 4.0 (see https://github.com/llvm-mirror/llvm/commit/4a6fc8bacf11d8066da72cf8481467167877ed16).

The librustc_llvm API remains mostly unchanged, except that llvm::Attribute is no longer a bitflag but represents only a *single* attribute.
The ability to store many attributes in a small number of bits and modify them without interacting with LLVM is only used in rustc_trans::abi and closely related modules, and only attributes for function arguments are considered there.
Thus rustc_trans::abi now has its own bit-packed representation of argument attributes, which are translated to rustc_llvm::Attribute when applying the attributes.

cc #37609

1  2 
src/Cargo.lock
src/librustc_llvm/build.rs
src/librustc_llvm/ffi.rs
src/librustc_llvm/lib.rs
src/librustc_trans/abi.rs
src/librustc_trans/lib.rs

diff --cc src/Cargo.lock
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge