]> git.lizzy.rs Git - rust.git/commitdiff
Use get_function_name_and_sig for calling function from backend
authorbjorn3 <bjorn3@users.noreply.github.com>
Sat, 11 Aug 2018 12:10:00 +0000 (14:10 +0200)
committerbjorn3 <bjorn3@users.noreply.github.com>
Sat, 11 Aug 2018 12:10:00 +0000 (14:10 +0200)
src/abi.rs
src/lib.rs

index 238f06f26d2b3e53ac07ae73977dd8346f49635e..0e4f6c15b156aba4e1b608608c17c6741746afdc 100644 (file)
@@ -153,7 +153,7 @@ fn ty_fn_sig<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, ty: Ty<'tcx>) -> ty::FnSig<'
     tcx.normalize_erasing_late_bound_regions(ParamEnv::reveal_all(), &sig)
 }
 
-fn get_function_name_and_sig<'a, 'tcx>(
+pub fn get_function_name_and_sig<'a, 'tcx>(
     tcx: TyCtxt<'a, 'tcx, 'tcx>,
     inst: Instance<'tcx>,
 ) -> (String, Signature) {
index 928760859134b6c95b6f3c3a0fd420670341f574..021602ed7c726c8980479bc62d93d5badd0e359c 100644 (file)
@@ -298,12 +298,7 @@ fn codegen_crate<'a, 'tcx>(
                         }
                     }).unwrap();
 
-            let fn_ty = call_instance.ty(tcx);
-            let sig = cton_sig_from_fn_ty(tcx, fn_ty);
-            let def_path_based_names =
-                ::rustc_mir::monomorphize::item::DefPathBasedNames::new(tcx, false, false);
-            let mut name = String::new();
-            def_path_based_names.push_instance_as_string(call_instance, &mut name);
+            let (name, sig) = crate::abi::get_function_name_and_sig(tcx, call_instance);
             let called_func_id = module
                 .declare_function(&name, Linkage::Import, &sig)
                 .unwrap();