Skip to content

Commit 39ee14d

Browse files
committed
Error when trying to define variadic functions
They aren't yet supported by Cranelift
1 parent 3207c9f commit 39ee14d

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/abi/mod.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,15 @@ pub(crate) fn codegen_fn_prelude<'tcx>(fx: &mut FunctionCx<'_, '_, 'tcx>, start_
193193
}
194194

195195
let fn_abi = fx.fn_abi.take().unwrap();
196+
197+
// FIXME implement variadics in cranelift
198+
if fn_abi.c_variadic {
199+
fx.tcx.sess.span_fatal(
200+
fx.mir.span,
201+
"Defining variadic functions is not yet supported by Cranelift",
202+
);
203+
}
204+
196205
let mut arg_abis_iter = fn_abi.args.iter();
197206

198207
let func_params = fx

src/intrinsics/mod.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,6 +1135,20 @@ fn codegen_regular_intrinsic_call<'tcx>(
11351135
// FIXME implement black_box semantics
11361136
ret.write_cvalue(fx, a);
11371137
};
1138+
1139+
// FIXME implement variadics in cranelift
1140+
va_copy, (o _dest, o _src) {
1141+
fx.tcx.sess.span_fatal(
1142+
source_info.span,
1143+
"Defining variadic functions is not yet supported by Cranelift",
1144+
);
1145+
};
1146+
va_arg | va_end, (o _valist) {
1147+
fx.tcx.sess.span_fatal(
1148+
source_info.span,
1149+
"Defining variadic functions is not yet supported by Cranelift",
1150+
);
1151+
};
11381152
}
11391153

11401154
let ret_block = fx.get_block(destination.unwrap());

0 commit comments

Comments
 (0)