File tree Expand file tree Collapse file tree 2 files changed +2
-7
lines changed
compiler/rustc_codegen_llvm/src Expand file tree Collapse file tree 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>(
294294 // int32_t va_ndx; // Offset into the arguments, in bytes
295295 // };
296296 //
297- // Whether an argument is loaded from va_stk or va_reg depends on the value of va_ndx.
298297 // 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.
299300 //
300301 // Arguments are never split between registers and the stack. For example, if loading an 8 byte
301302 // 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> {
120120#[ cfg( target_arch = "xtensa" ) ]
121121#[ repr( C ) ]
122122#[ 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- ) ]
129123#[ lang = "va_list" ]
130124pub struct VaListImpl < ' f > {
131125 stk : * mut i32 ,
You can’t perform that action at this time.
0 commit comments