Skip to content

Commit 639d2b0

Browse files
committed
---
yaml --- r: 233757 b: refs/heads/beta c: 95337a2 h: refs/heads/master i: 233755: 0558cac v: v3
1 parent fbfedcc commit 639d2b0

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: 6c512dc52b6ddea8137e3e44effee7f140ed1f53
26+
refs/heads/beta: 95337a29789ee856367d52266dea876fb45bafcf
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: 370fe2786109360f7c35b8ba552b83b773dd71d6
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/librustc_trans/trans/cleanup.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -730,8 +730,9 @@ impl<'blk, 'tcx> CleanupHelperMethods<'blk, 'tcx> for FunctionContext<'blk, 'tcx
730730
let prev_bcx = self.new_block(true, "resume", None);
731731
let personality = self.personality.get().expect(
732732
"create_landing_pad() should have set this");
733-
build::Resume(prev_bcx,
734-
build::Load(prev_bcx, personality));
733+
let lp = build::Load(prev_bcx, personality);
734+
base::call_lifetime_end(prev_bcx, personality);
735+
build::Resume(prev_bcx, lp);
735736
prev_llbb = prev_bcx.llbb;
736737
break;
737738
}

branches/beta/src/librustc_trans/trans/foreign.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,7 @@ pub fn trans_native_call<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
432432
// - Truncating foreign type to correct integral type and then
433433
// bitcasting to the struct type yields invalid cast errors.
434434
let llscratch = base::alloca(bcx, llforeign_ret_ty, "__cast");
435+
base::call_lifetime_start(bcx, llscratch);
435436
Store(bcx, llforeign_retval, llscratch);
436437
let llscratch_i8 = BitCast(bcx, llscratch, Type::i8(ccx).ptr_to());
437438
let llretptr_i8 = BitCast(bcx, llretptr, Type::i8(ccx).ptr_to());
@@ -442,6 +443,7 @@ pub fn trans_native_call<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
442443
debug!("llrust_size={}", llrust_size);
443444
base::call_memcpy(bcx, llretptr_i8, llscratch_i8,
444445
C_uint(ccx, llrust_size), llalign as u32);
446+
base::call_lifetime_end(bcx, llscratch);
445447
}
446448
}
447449

branches/beta/src/librustc_trans/trans/glue.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,9 @@ pub fn drop_ty_immediate<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
190190
let vp = alloca(bcx, type_of(bcx.ccx(), t), "");
191191
call_lifetime_start(bcx, vp);
192192
store_ty(bcx, v, vp, t);
193-
drop_ty_core(bcx, vp, t, debug_loc, skip_dtor, None)
193+
let bcx = drop_ty_core(bcx, vp, t, debug_loc, skip_dtor, None);
194+
call_lifetime_end(bcx, vp);
195+
bcx
194196
}
195197

196198
pub fn get_drop_glue<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, t: Ty<'tcx>) -> ValueRef {

branches/beta/src/librustc_trans/trans/intrinsic.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -966,6 +966,7 @@ pub fn trans_intrinsic_call<'a, 'blk, 'tcx>(mut bcx: Block<'blk, 'tcx>,
966966
match dest {
967967
expr::Ignore => {
968968
bcx = glue::drop_ty(bcx, llresult, ret_ty, call_debug_location);
969+
call_lifetime_end(bcx, llresult);
969970
}
970971
expr::SaveIn(_) => {}
971972
}

0 commit comments

Comments
 (0)