interpret: do not claim UB until we looked more into variadic functions

This commit is contained in:
Ralf Jung 2022-06-05 13:24:10 -04:00
parent 4322a785cc
commit a6207ec975

View File

@ -353,12 +353,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
// FIXME: for variadic support, do we have to somehow determine callee's extra_args?
let callee_fn_abi = self.fn_abi_of_instance(instance, ty::List::empty())?;
if callee_fn_abi.c_variadic != caller_fn_abi.c_variadic {
throw_ub_format!(
"calling a c-variadic function via a non-variadic call site, or vice versa"
);
}
if callee_fn_abi.c_variadic {
if callee_fn_abi.c_variadic || caller_fn_abi.c_variadic {
throw_unsup_format!("calling a c-variadic function is not supported");
}