@@ -121,11 +121,11 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>(
121121
122122 // First argument: pointer to `main()`.
123123 let main_ptr = ecx. memory_mut ( ) . create_fn_alloc ( main_instance) . with_default_tag ( ) ;
124- let dest = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
124+ let dest = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
125125 ecx. write_scalar ( Scalar :: Ptr ( main_ptr) , dest) ?;
126126
127127 // Second argument (argc): `1`.
128- let dest = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
128+ let dest = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
129129 let argc = Scalar :: from_uint ( config. args . len ( ) as u128 , dest. layout . size ) ;
130130 ecx. write_scalar ( argc, dest) ?;
131131 // Store argc for macOS's `_NSGetArgc`.
@@ -137,7 +137,7 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>(
137137
138138 // FIXME: extract main source file path.
139139 // Third argument (`argv`): created from `config.args`.
140- let dest = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
140+ let dest = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
141141 // For Windows, construct a command string with all the aguments.
142142 let mut cmd = String :: new ( ) ;
143143 for arg in config. args . iter ( ) {
@@ -437,12 +437,12 @@ impl<'a, 'mir, 'tcx> Machine<'a, 'mir, 'tcx> for Evaluator<'tcx> {
437437
438438 // First argument: `size`.
439439 // (`0` is allowed here -- this is expected to be handled by the lang item).
440- let arg = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
440+ let arg = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
441441 let size = layout. size . bytes ( ) ;
442442 ecx. write_scalar ( Scalar :: from_uint ( size, arg. layout . size ) , arg) ?;
443443
444444 // Second argument: `align`.
445- let arg = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
445+ let arg = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
446446 let align = layout. align . abi . bytes ( ) ;
447447 ecx. write_scalar ( Scalar :: from_uint ( align, arg. layout . size ) , arg) ?;
448448
0 commit comments