@@ -122,11 +122,11 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>(
122
122
123
123
// First argument: pointer to main()
124
124
let main_ptr = ecx. memory_mut ( ) . create_fn_alloc ( main_instance) . with_default_tag ( ) ;
125
- let dest = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
125
+ let dest = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
126
126
ecx. write_scalar ( Scalar :: Ptr ( main_ptr) , dest) ?;
127
127
128
128
// Second argument (argc): 1
129
- let dest = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
129
+ let dest = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
130
130
let argc = Scalar :: from_uint ( config. args . len ( ) as u128 , dest. layout . size ) ;
131
131
ecx. write_scalar ( argc, dest) ?;
132
132
// Store argc for macOS _NSGetArgc
@@ -138,7 +138,7 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>(
138
138
139
139
// FIXME: extract main source file path
140
140
// Third argument (argv): Created from config.args
141
- let dest = ecx. eval_place ( & mir:: Place :: Local ( args. next ( ) . unwrap ( ) ) ) ?;
141
+ let dest = ecx. eval_place ( & mir:: Place :: Base ( mir :: PlaceBase :: Local ( args. next ( ) . unwrap ( ) ) ) ) ?;
142
142
// For Windows, construct a command string with all the aguments
143
143
let mut cmd = String :: new ( ) ;
144
144
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