File tree 2 files changed +2
-7
lines changed
compiler/rustc_codegen_llvm/src
2 files changed +2
-7
lines changed Original file line number Diff line number Diff line change @@ -294,8 +294,9 @@ fn emit_xtensa_va_arg<'ll, 'tcx>(
294
294
// int32_t va_ndx; // Offset into the arguments, in bytes
295
295
// };
296
296
//
297
- // Whether an argument is loaded from va_stk or va_reg depends on the value of va_ndx.
298
297
// The first 24 bytes (equivalent to 6 registers) come from va_reg, the rest from va_stk.
298
+ // Thus if va_ndx is less than 24, the next va_arg *may* read from va_reg,
299
+ // otherwise it must come from va_stk.
299
300
//
300
301
// Arguments are never split between registers and the stack. For example, if loading an 8 byte
301
302
// value and va_ndx = 20, we instead bump the offset and read everything from va_stk.
Original file line number Diff line number Diff line change @@ -120,12 +120,6 @@ pub struct VaListImpl<'f> {
120
120
#[ cfg( target_arch = "xtensa" ) ]
121
121
#[ repr( C ) ]
122
122
#[ derive( Debug ) ]
123
- #[ unstable(
124
- feature = "c_variadic" ,
125
- reason = "the `c_variadic` feature has not been properly tested on \
126
- all supported platforms",
127
- issue = "44930"
128
- ) ]
129
123
#[ lang = "va_list" ]
130
124
pub struct VaListImpl < ' f > {
131
125
stk : * mut i32 ,
You can’t perform that action at this time.
0 commit comments