@@ -1056,11 +1056,11 @@ pub fn get_landing_pad(bcx: @Block) -> BasicBlockRef {
1056
1056
1057
1057
// We store the retval in a function-central alloca, so that calls to
1058
1058
// Resume can find it.
1059
- match bcx. fcx . personality {
1059
+ match bcx. fcx . personality . get ( ) {
1060
1060
Some ( addr) => Store ( pad_bcx, llretval, addr) ,
1061
1061
None => {
1062
1062
let addr = alloca ( pad_bcx, val_ty ( llretval) , "" ) ;
1063
- bcx. fcx . personality = Some ( addr) ;
1063
+ bcx. fcx . personality . set ( Some ( addr) ) ;
1064
1064
Store ( pad_bcx, llretval, addr) ;
1065
1065
}
1066
1066
}
@@ -1378,7 +1378,7 @@ pub fn cleanup_and_leave(bcx: @Block,
1378
1378
match leave {
1379
1379
Some ( target) => Br ( bcx, target) ,
1380
1380
None => {
1381
- let ll_load = Load ( bcx, bcx. fcx . personality . unwrap ( ) ) ;
1381
+ let ll_load = Load ( bcx, bcx. fcx . personality . get ( ) . unwrap ( ) ) ;
1382
1382
Resume ( bcx, ll_load) ;
1383
1383
}
1384
1384
}
@@ -1690,7 +1690,7 @@ pub fn new_fn_ctxt_w_id(ccx: @CrateContext,
1690
1690
alloca_insert_pt : Cell :: new ( None ) ,
1691
1691
llreturn : Cell :: new ( None ) ,
1692
1692
llself : Cell :: new ( None ) ,
1693
- personality : None ,
1693
+ personality : Cell :: new ( None ) ,
1694
1694
caller_expects_out_pointer : uses_outptr,
1695
1695
llargs : RefCell :: new ( HashMap :: new ( ) ) ,
1696
1696
lllocals : RefCell :: new ( HashMap :: new ( ) ) ,
0 commit comments