Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit aa23f86

Browse files
committed
Remove vararg support check
This check wasn't very useful and removing it simplifies the code.
1 parent d263447 commit aa23f86

File tree

5 files changed

+6
-21
lines changed

5 files changed

+6
-21
lines changed

src/abi/mod.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,8 @@ pub(crate) fn get_function_sig<'tcx>(
140140
tcx: TyCtxt<'tcx>,
141141
triple: &target_lexicon::Triple,
142142
inst: Instance<'tcx>,
143-
support_vararg: bool,
144143
) -> Signature {
145144
assert!(!inst.substs.needs_infer());
146-
let fn_sig = tcx
147-
.normalize_erasing_late_bound_regions(ParamEnv::reveal_all(), fn_sig_for_fn_abi(tcx, inst));
148-
if fn_sig.c_variadic && !support_vararg {
149-
tcx.sess.span_fatal(
150-
tcx.def_span(inst.def_id()),
151-
"Variadic function definitions are not yet supported",
152-
);
153-
}
154-
155145
clif_sig_from_fn_abi(
156146
tcx,
157147
triple,
@@ -166,7 +156,7 @@ pub(crate) fn import_function<'tcx>(
166156
inst: Instance<'tcx>,
167157
) -> FuncId {
168158
let name = tcx.symbol_name(inst).name.to_string();
169-
let sig = get_function_sig(tcx, module.isa().triple(), inst, true);
159+
let sig = get_function_sig(tcx, module.isa().triple(), inst);
170160
module
171161
.declare_function(&name, Linkage::Import, &sig)
172162
.unwrap()

src/base.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ pub(crate) fn codegen_fn<'tcx>(
2222

2323
// Declare function
2424
let name = tcx.symbol_name(instance).name.to_string();
25-
let sig = get_function_sig(tcx, cx.module.isa().triple(), instance, false);
25+
let sig = get_function_sig(tcx, cx.module.isa().triple(), instance);
2626
let func_id = cx.module.declare_function(&name, linkage, &sig).unwrap();
2727

2828
cx.cached_context.clear();

src/driver/jit.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ extern "C" fn __clif_jit_fn(instance_ptr: *const Instance<'static>) -> *const u8
157157
let mut cx = crate::CodegenCx::new(tcx, jit_module, false, false);
158158

159159
let name = tcx.symbol_name(instance).name.to_string();
160-
let sig = crate::abi::get_function_sig(tcx, cx.module.isa().triple(), instance, true);
160+
let sig = crate::abi::get_function_sig(tcx, cx.module.isa().triple(), instance);
161161
let func_id = cx
162162
.module
163163
.declare_function(&name, Linkage::Export, &sig)
@@ -243,7 +243,7 @@ pub(super) fn codegen_shim<'tcx>(cx: &mut CodegenCx<'tcx, impl Module>, inst: In
243243
let pointer_type = cx.module.target_config().pointer_type();
244244

245245
let name = tcx.symbol_name(inst).name.to_string();
246-
let sig = crate::abi::get_function_sig(tcx, cx.module.isa().triple(), inst, true);
246+
let sig = crate::abi::get_function_sig(tcx, cx.module.isa().triple(), inst);
247247
let func_id = cx
248248
.module
249249
.declare_function(&name, Linkage::Export, &sig)

src/driver/mod.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,7 @@ fn predefine_mono_items<'tcx>(
5151
match mono_item {
5252
MonoItem::Fn(instance) => {
5353
let name = cx.tcx.symbol_name(instance).name.to_string();
54-
let sig= get_function_sig(
55-
cx.tcx,
56-
cx.module.isa().triple(),
57-
instance,
58-
false,
59-
);
54+
let sig = get_function_sig(cx.tcx, cx.module.isa().triple(), instance);
6055
let linkage = crate::linkage::get_clif_linkage(mono_item, linkage, visibility);
6156
cx.module.declare_function(&name, linkage, &sig).unwrap();
6257
}

src/main_shim.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ pub(crate) fn maybe_create_entry_wrapper(
7070
let instance = Instance::mono(tcx, rust_main_def_id).polymorphize(tcx);
7171

7272
let main_name = tcx.symbol_name(instance).name.to_string();
73-
let main_sig = get_function_sig(tcx, m.isa().triple(), instance, false);
73+
let main_sig = get_function_sig(tcx, m.isa().triple(), instance);
7474
let main_func_id = m
7575
.declare_function(&main_name, Linkage::Import, &main_sig)
7676
.unwrap();

0 commit comments

Comments
 (0)