rust/src/librustc/middle
Björn Steinbrink 5e720aac42 Add missing attributes to indirect calls for foreign functions
When calling a foreign function, some arguments and/or return value
attributes are required to conform to the foreign ABI. Currently those
attributes are only added to the declaration of foreign functions. With
direct calls, this is no problem, because LLVM can see that those
attributes apply to the call. But with an indirect call, LLVM cannot do
that and the attribute is missing.

To fix that, we have to add those attribute to the calls to foreign
functions as well.

This also allows to remove the special handling of the SRet attribute,
which is ABI-dependent and will be set via the `attr` field of the
return type's `ArgType`.
2014-06-21 19:59:58 +02:00
..
borrowck Merge conflicts from the rollup 2014-06-18 17:23:03 -07:00
cfg middle::cfg code cleanup. 2014-06-18 16:41:52 +02:00
save rustc: Improve span for error about using a method as a field. 2014-06-16 18:15:54 -07:00
trans Add missing attributes to indirect calls for foreign functions 2014-06-21 19:59:58 +02:00
typeck Address review comments 2014-06-20 17:41:19 +02:00
astencode.rs librustc: Don't overwrite vtables when coercing to trait object. 2014-06-17 23:47:17 -04:00
check_const.rs rustc: Move the AST from @T to Gc<T> 2014-06-11 09:51:37 -07:00
check_loop.rs rustc: Move the AST from @T to Gc<T> 2014-06-11 09:51:37 -07:00
check_match.rs Address review comments 2014-06-20 17:41:19 +02:00
check_static.rs rustc: Obsolete the @ syntax entirely 2014-06-14 10:45:37 -07:00
const_eval.rs Add a b"xx" byte string literal of type &'static [u8]. 2014-06-17 23:43:18 +02:00
dataflow.rs Ensure dataflow of a proc never looks at blocks from closed-over context. 2014-06-18 16:41:53 +02:00
dead.rs rustc: Improve span for error about using a method as a field. 2014-06-16 18:15:54 -07:00
def.rs Introduce VecPerParamSpace and use it to represent sets of types and 2014-06-13 13:20:24 -04:00
dependency_format.rs
effect.rs rustc: Move the AST from @T to Gc<T> 2014-06-11 09:51:37 -07:00
entry.rs
expr_use_visitor.rs auto merge of #14830 : luqmana/rust/cmtrttcbctto, r=nikomatsakis 2014-06-19 09:26:24 +00:00
freevars.rs
graph.rs Revise dataflow to do a cfg-driven walk. 2014-06-18 16:38:23 +02:00
intrinsicck.rs librustc: Forbid transmute from being called on types whose size is 2014-06-13 13:53:55 -07:00
kind.rs Remove TraitStore from ty_trait 2014-06-18 10:30:33 +12:00
lang_items.rs librustc: Implement overloading for the call operator behind a feature 2014-06-09 12:39:17 -07:00
lint.rs Add stability inheritance 2014-06-18 22:22:26 -07:00
liveness.rs Fix FIXME #5275 2014-06-18 17:01:56 -07:00
mem_categorization.rs auto merge of #14830 : luqmana/rust/cmtrttcbctto, r=nikomatsakis 2014-06-19 09:26:24 +00:00
pat_util.rs
privacy.rs rustc: Don't mark type parameters as exported 2014-06-16 18:16:28 -07:00
reachable.rs librustc: Make addresses of immutable statics insignificant unless 2014-06-17 11:44:00 -07:00
region.rs rustc: Move the AST from @T to Gc<T> 2014-06-11 09:51:37 -07:00
resolve_lifetime.rs librustc: Fix the issue with labels shadowing variable names by making 2014-06-13 13:53:34 -07:00
resolve.rs rustc: reduce redundant resolve errors. 2014-06-18 01:19:22 +01:00
stability.rs Add stability inheritance 2014-06-18 22:22:26 -07:00
subst.rs Introduce VecPerParamSpace and use it to represent sets of types and 2014-06-13 13:20:24 -04:00
ty_fold.rs Remove TraitStore from ty_trait 2014-06-18 10:30:33 +12:00
ty.rs auto merge of #15029 : aturon/rust/stability-index, r=brson 2014-06-21 04:01:25 +00:00
weak_lang_items.rs