File tree 1 file changed +4
-2
lines changed
compiler/rustc_target/src/abi/call
1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -54,8 +54,10 @@ pub enum PassMode {
54
54
/// argument. (This is the only mode that supports unsized arguments.)
55
55
/// `on_stack` defines that the value should be passed at a fixed stack offset in accordance to
56
56
/// the ABI rather than passed using a pointer. This corresponds to the `byval` LLVM argument
57
- /// attribute (using the Rust type of this argument). `on_stack` cannot be true for unsized
58
- /// arguments, i.e., when `meta_attrs` is `Some`.
57
+ /// attribute (using a byte array type with the same size as the Rust type [which ensures that
58
+ /// padding is preserved and that we do not rely on LLVM's struct layout], and with alignment
59
+ /// determined in a complex, target-specific manner [see callers of `make_indirect_byval`]).
60
+ /// `on_stack` cannot be true for unsized arguments, i.e., when `meta_attrs` is `Some`.
59
61
Indirect { attrs : ArgAttributes , meta_attrs : Option < ArgAttributes > , on_stack : bool } ,
60
62
}
61
63
You can’t perform that action at this time.
0 commit comments