@@ -121,11 +121,11 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>(
121
121
122
122
// First argument: pointer to `main()`.
123
123
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 ( ) ) ) ) ?;
125
125
ecx. write_scalar ( Scalar :: Ptr ( main_ptr) , dest) ?;
126
126
127
127
// 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 ( ) ) ) ) ?;
129
129
let argc = Scalar :: from_uint ( config. args . len ( ) as u128 , dest. layout . size ) ;
130
130
ecx. write_scalar ( argc, dest) ?;
131
131
// Store argc for macOS's `_NSGetArgc`.
@@ -137,7 +137,7 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>(
137
137
138
138
// FIXME: extract main source file path.
139
139
// 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 ( ) ) ) ) ?;
141
141
// For Windows, construct a command string with all the aguments.
142
142
let mut cmd = String :: new ( ) ;
143
143
for arg in config. args . iter ( ) {
@@ -437,12 +437,12 @@ impl<'a, 'mir, 'tcx> Machine<'a, 'mir, 'tcx> for Evaluator<'tcx> {
437
437
438
438
// First argument: `size`.
439
439
// (`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 ( ) ) ) ) ?;
441
441
let size = layout. size . bytes ( ) ;
442
442
ecx. write_scalar ( Scalar :: from_uint ( size, arg. layout . size ) , arg) ?;
443
443
444
444
// 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 ( ) ) ) ) ?;
446
446
let align = layout. align . abi . bytes ( ) ;
447
447
ecx. write_scalar ( Scalar :: from_uint ( align, arg. layout . size ) , arg) ?;
448
448
0 commit comments