Skip to content

Commit 78ba5bd

Browse files
committed
---
yaml --- r: 64097 b: refs/heads/snap-stage3 c: 65ed803 h: refs/heads/master i: 64095: 845d771 v: v3
1 parent 6df0d6c commit 78ba5bd

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 2d28d645422c1617be58c8ca7ad9a457264ca850
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 4a485f8cec524c8f3f57e4fd3248d5093ed3dc5f
4+
refs/heads/snap-stage3: 65ed80339b52bae26457f5c19dc9861bd7de643e
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/mk/tests.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
# The names of crates that must be tested
1717
TEST_TARGET_CRATES = std extra
18-
TEST_HOST_CRATES = syntax rustc rustdoc rust rustpkg
18+
TEST_HOST_CRATES = syntax rustc rustdoc rust rustpkg rusti
1919
TEST_CRATES = $(TEST_TARGET_CRATES) $(TEST_HOST_CRATES)
2020

2121
# Markdown files under doc/ that should have their code extracted and run
@@ -157,6 +157,7 @@ check-test: cleantestlibs cleantmptestlogs all check-stage2-rfail
157157

158158
check-lite: cleantestlibs cleantmptestlogs \
159159
check-stage2-std check-stage2-extra check-stage2-rpass \
160+
check-stage2-rustpkg check-stage2-rusti \
160161
check-stage2-rfail check-stage2-cfail
161162
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
162163

branches/snap-stage3/src/librustc/middle/trans/callee.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -672,8 +672,15 @@ pub fn trans_call_inner(in_cx: block,
672672
expr::Ignore => {
673673
// drop the value if it is not being saved.
674674
unsafe {
675-
if ty::type_needs_drop(bcx.tcx(), ret_ty) {
676-
if ty::type_is_immediate(bcx.tcx(), ret_ty) {
675+
if llvm::LLVMIsUndef(llretslot) != lib::llvm::True {
676+
if ty::type_is_nil(ret_ty) {
677+
// When implementing the for-loop sugar syntax, the
678+
// type of the for-loop is nil, but the function
679+
// it's invoking returns a bool. This is a special
680+
// case to ignore instead of invoking the Store
681+
// below into a scratch pointer of a mismatched
682+
// type.
683+
} else if ty::type_is_immediate(bcx.tcx(), ret_ty) {
677684
let llscratchptr = alloc_ty(bcx, ret_ty);
678685
Store(bcx, llresult, llscratchptr);
679686
bcx = glue::drop_ty(bcx, llscratchptr, ret_ty);
@@ -727,7 +734,7 @@ pub fn trans_ret_slot(bcx: block, fn_ty: ty::t, dest: expr::Dest)
727734
match dest {
728735
expr::SaveIn(dst) => dst,
729736
expr::Ignore => {
730-
if ty::type_is_immediate(bcx.tcx(), retty) {
737+
if ty::type_is_nil(retty) {
731738
unsafe {
732739
llvm::LLVMGetUndef(Type::nil().ptr_to().to_ref())
733740
}

branches/snap-stage3/src/librusti/rusti.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,8 @@ mod tests {
530530

531531
// FIXME: #7220 rusti on 32bit mac doesn't work.
532532
// FIXME: #7641 rusti on 32bit linux cross compile doesn't work
533-
#[cfg(not(target_word_size="32"))]
533+
// FIXME: #7115 re-enable once LLVM has been upgraded
534+
#[cfg(thiswillneverbeacfgflag)]
534535
fn run_program(prog: &str) {
535536
let mut r = repl();
536537
for prog.split_iter('\n').advance |cmd| {
@@ -539,7 +540,6 @@ mod tests {
539540
r = result.expect(fmt!("the command '%s' failed", cmd));
540541
}
541542
}
542-
#[cfg(target_word_size="32")]
543543
fn run_program(_: &str) {}
544544

545545
#[test]

0 commit comments

Comments
 (0)