]> git.lizzy.rs Git - rust.git/commitdiff
Rustfmt
authorbjorn3 <bjorn3@users.noreply.github.com>
Sat, 11 Aug 2018 11:59:34 +0000 (13:59 +0200)
committerbjorn3 <bjorn3@users.noreply.github.com>
Sat, 11 Aug 2018 11:59:34 +0000 (13:59 +0200)
src/abi.rs
src/lib.rs

index 4e6ccf7adfc52b79186b5d82eb6119bbbeb9553a..238f06f26d2b3e53ac07ae73977dd8346f49635e 100644 (file)
@@ -272,15 +272,9 @@ pub fn codegen_fn_prelude<'a, 'tcx: 'a>(fx: &mut FunctionCx<'a, 'tcx>, start_ebb
     let ret_layout = fx.layout_of(fx.return_type());
     let output_pass_mode = get_pass_mode(fx.tcx, fx.self_sig().abi, fx.return_type(), true);
     let ret_param = match output_pass_mode {
-        PassMode::NoPass => {
-            None
-        }
-        PassMode::ByVal(ret_ty) => {
-            None
-        }
-        PassMode::ByRef => {
-            Some(fx.bcx.append_ebb_param(start_ebb, types::I64))
-        }
+        PassMode::NoPass => None,
+        PassMode::ByVal(ret_ty) => None,
+        PassMode::ByRef => Some(fx.bcx.append_ebb_param(start_ebb, types::I64)),
     };
 
     enum ArgKind {
@@ -320,7 +314,10 @@ enum ArgKind {
         PassMode::NoPass => {
             let null = fx.bcx.ins().iconst(types::I64, 0);
             //unimplemented!("pass mode nopass");
-            fx.local_map.insert(RETURN_PLACE, CPlace::Addr(null, fx.layout_of(fx.return_type())));
+            fx.local_map.insert(
+                RETURN_PLACE,
+                CPlace::Addr(null, fx.layout_of(fx.return_type())),
+            );
         }
         PassMode::ByVal(ret_ty) => {
             let var = Variable(RETURN_PLACE);
@@ -367,20 +364,25 @@ enum ArgKind {
         let place = CPlace::from_stack_slot(fx, stack_slot, ty);
 
         match arg_kind {
-            ArgKind::Normal(ebb_param) => {
-                match get_pass_mode(fx.tcx, fx.self_sig().abi, ty, false) {
-                    PassMode::NoPass => unimplemented!("pass mode nopass"),
-                    PassMode::ByVal(_) => place.write_cvalue(fx, CValue::ByVal(ebb_param, place.layout())),
-                    PassMode::ByRef => place.write_cvalue(fx, CValue::ByRef(ebb_param, place.layout())),
+            ArgKind::Normal(ebb_param) => match get_pass_mode(fx.tcx, fx.self_sig().abi, ty, false)
+            {
+                PassMode::NoPass => unimplemented!("pass mode nopass"),
+                PassMode::ByVal(_) => {
+                    place.write_cvalue(fx, CValue::ByVal(ebb_param, place.layout()))
                 }
-            }
+                PassMode::ByRef => place.write_cvalue(fx, CValue::ByRef(ebb_param, place.layout())),
+            },
             ArgKind::Spread(ebb_params) => {
                 for (i, ebb_param) in ebb_params.into_iter().enumerate() {
                     let sub_place = place.place_field(fx, mir::Field::new(i));
                     match get_pass_mode(fx.tcx, fx.self_sig().abi, sub_place.layout().ty, false) {
                         PassMode::NoPass => unimplemented!("pass mode nopass"),
-                        PassMode::ByVal(_) => sub_place.write_cvalue(fx, CValue::ByVal(ebb_param, sub_place.layout())),
-                        PassMode::ByRef => sub_place.write_cvalue(fx, CValue::ByRef(ebb_param, sub_place.layout())),
+                        PassMode::ByVal(_) => {
+                            sub_place.write_cvalue(fx, CValue::ByVal(ebb_param, sub_place.layout()))
+                        }
+                        PassMode::ByRef => {
+                            sub_place.write_cvalue(fx, CValue::ByRef(ebb_param, sub_place.layout()))
+                        }
                     }
                 }
             }
@@ -450,9 +452,9 @@ pub fn codegen_call<'a, 'tcx: 'a>(
             .collect::<Vec<_>>()
     };
 
-    let destination = destination.as_ref().map(|(place, bb)| {
-        (trans_place(fx, place), *bb)
-    });
+    let destination = destination
+        .as_ref()
+        .map(|(place, bb)| (trans_place(fx, place), *bb));
 
     if codegen_intrinsic_call(fx, fn_ty, sig, &args, destination) {
         return;
@@ -473,14 +475,13 @@ pub fn codegen_call<'a, 'tcx: 'a>(
 
     let call_args: Vec<Value> = return_ptr
         .into_iter()
-        .chain(
-            args.into_iter()
-                .map(|arg| match get_pass_mode(fx.tcx, sig.abi, arg.layout().ty, false) {
+        .chain(args.into_iter().map(|arg| {
+            match get_pass_mode(fx.tcx, sig.abi, arg.layout().ty, false) {
                 PassMode::NoPass => unimplemented!("pass mode nopass"),
                 PassMode::ByVal(_) => arg.load_value(fx),
                 PassMode::ByRef => arg.force_stack(fx),
-            }),
-        ).collect::<Vec<_>>();
+            }
+        })).collect::<Vec<_>>();
 
     let inst = match func {
         CValue::Func(func, _) => fx.bcx.ins().call(func, &call_args),
@@ -513,7 +514,7 @@ pub fn codegen_return(fx: &mut FunctionCx) {
     match get_pass_mode(fx.tcx, fx.self_sig().abi, fx.return_type(), true) {
         PassMode::NoPass | PassMode::ByRef => {
             fx.bcx.ins().return_(&[]);
-        },
+        }
         PassMode::ByVal(_) => {
             let place = fx.get_local_place(RETURN_PLACE);
             let ret_val = place.to_cvalue(fx).load_value(fx);
@@ -537,10 +538,7 @@ fn codegen_intrinsic_call<'a, 'tcx: 'a>(
             let ret = match destination {
                 Some((place, _)) => place,
                 None => {
-                    println!(
-                        "codegen_call(fx, _, {:?}, {:?})",
-                        args, destination
-                    );
+                    println!("codegen_call(fx, _, {:?}, {:?})", args, destination);
                     // Insert non returning intrinsics here
                     match intrinsic {
                         "abort" => {
index 2a0f86f66b56b70b8390a77f768a369264148b0e..928760859134b6c95b6f3c3a0fd420670341f574 100644 (file)
@@ -271,7 +271,7 @@ fn codegen_crate<'a, 'tcx>(
                     }
                 }
             }
-            
+
             std::mem::replace(&mut cx.defined_functions, Vec::new())
         };
 
@@ -279,21 +279,25 @@ fn codegen_crate<'a, 'tcx>(
 
         // TODO: this doesn't work most of the time
         if false {
-            let call_instance = collector::collect_crate_mono_items(tcx, collector::MonoItemCollectionMode::Eager).0.into_iter().find_map(|mono_item| {
-                let inst = match mono_item {
-                    MonoItem::Fn(inst) => inst,
-                    _ => return None,
-                };
-
-                //if tcx.absolute_item_path_str(inst.def_id()) != "example::ret_42" {
-                if tcx.absolute_item_path_str(inst.def_id()) == "example::option_unwrap_or" {
-                    Some(inst)
-                } else {
-                    None
-                }
-            }).unwrap();
+            let call_instance =
+                collector::collect_crate_mono_items(tcx, collector::MonoItemCollectionMode::Eager)
+                    .0
+                    .into_iter()
+                    .find_map(|mono_item| {
+                        let inst = match mono_item {
+                            MonoItem::Fn(inst) => inst,
+                            _ => return None,
+                        };
+
+                        //if tcx.absolute_item_path_str(inst.def_id()) != "example::ret_42" {
+                        if tcx.absolute_item_path_str(inst.def_id()) == "example::option_unwrap_or"
+                        {
+                            Some(inst)
+                        } else {
+                            None
+                        }
+                    }).unwrap();
 
-            
             let fn_ty = call_instance.ty(tcx);
             let sig = cton_sig_from_fn_ty(tcx, fn_ty);
             let def_path_based_names =