]> git.lizzy.rs Git - rust.git/blobdiff - src/main_shim.rs
Enable inline asm on macOS
[rust.git] / src / main_shim.rs
index 8fd1e4f5811f5d4f9d26fb6166f7981d5e699117..c67b6e98b32c7daeeca8558ed2882f082cd0b103 100644 (file)
@@ -1,4 +1,3 @@
-use cranelift_codegen::binemit::{NullStackMapSink, NullTrapSink};
 use rustc_hir::LangItem;
 use rustc_middle::ty::subst::GenericArg;
 use rustc_middle::ty::AssocKind;
@@ -52,7 +51,10 @@ fn create_entry_fn(
         // late-bound regions, since late-bound
         // regions must appear in the argument
         // listing.
-        let main_ret_ty = tcx.erase_regions(main_ret_ty.no_bound_vars().unwrap());
+        let main_ret_ty = tcx.normalize_erasing_regions(
+            ty::ParamEnv::reveal_all(),
+            main_ret_ty.no_bound_vars().unwrap(),
+        );
 
         let cmain_sig = Signature {
             params: vec![
@@ -107,7 +109,8 @@ fn create_entry_fn(
                     tcx.mk_substs([GenericArg::from(main_ret_ty)].iter()),
                 )
                 .unwrap()
-                .unwrap();
+                .unwrap()
+                .polymorphize(tcx);
 
                 let report_name = tcx.symbol_name(report).name;
                 let report_sig = get_function_sig(tcx, m.isa().triple(), report);
@@ -152,8 +155,7 @@ fn create_entry_fn(
             bcx.seal_all_blocks();
             bcx.finalize();
         }
-        m.define_function(cmain_func_id, &mut ctx, &mut NullTrapSink {}, &mut NullStackMapSink {})
-            .unwrap();
+        m.define_function(cmain_func_id, &mut ctx).unwrap();
         unwind_context.add_function(cmain_func_id, &ctx, m.isa());
     }
 }