Skip to content

Commit cc0e409

Browse files
committed
---
yaml --- r: 65162 b: refs/heads/master c: 808aada h: refs/heads/master v: v3
1 parent 386ebf7 commit cc0e409

File tree

6 files changed

+42
-5
lines changed

6 files changed

+42
-5
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 258d20ea84c51deb0192f7f2576edfa8ca726059
2+
refs/heads/master: 808aada1fb95133f9e9e78be70ad805c0fee4b9c
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 18e3db7392d2d0697b7e27d6d986139960144d85
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9

trunk/src/libcore/rt/context.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,9 @@ fn new_regs() -> ~Registers { ~([0, .. 32]) }
183183

184184
#[cfg(target_arch = "mips")]
185185
fn initialize_call_frame(regs: &mut Registers, fptr: *c_void, arg: *c_void, sp: *mut uint) {
186-
let sp = mut_offset(sp, -1);
186+
let sp = align_down(sp);
187+
// sp of mips o32 is 8-byte aligned
188+
let sp = mut_offset(sp, -2);
187189

188190
// The final return address. 0 indicates the bottom of the stack
189191
unsafe { *sp = 0; }

trunk/src/libcore/vec.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use old_iter;
2222
use iterator::Iterator;
2323
use kinds::Copy;
2424
use libc;
25-
use old_iter::{BaseIter, CopyableIter};
25+
use old_iter::CopyableIter;
2626
use option::{None, Option, Some};
2727
use ptr::to_unsafe_ptr;
2828
use ptr;

trunk/src/librustc/middle/resolve.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1834,6 +1834,10 @@ pub impl Resolver {
18341834
debug!("(building import directive) bumping \
18351835
reference");
18361836
resolution.outstanding_references += 1;
1837+
1838+
// the source of this name is different now
1839+
resolution.privacy = privacy;
1840+
resolution.id = id;
18371841
}
18381842
None => {
18391843
debug!("(building import directive) creating new");

trunk/src/rt/arch/mips/context.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ void context::call(void *f, void *arg, void *stack)
3434

3535
// set up the stack
3636
uint32_t *sp = (uint32_t *)stack;
37-
//sp = align_down(sp);
37+
sp = align_down(sp);
3838
// The final return address. 0 indicates the bottom of the stack
39-
*--sp = 0;
39+
// sp of mips o32 is 8-byte aligned
40+
sp -= 2;
41+
*sp = 0;
4042

4143
regs.data[4] = (uint32_t)arg;
4244
regs.data[29] = (uint32_t)sp;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#[deny(unused_imports)];
12+
13+
// Regression test for issue #6633
14+
15+
use foo::name::name; //~ ERROR: unused import
16+
use foo::name;
17+
18+
pub mod foo {
19+
pub mod name {
20+
pub type a = int;
21+
pub mod name {
22+
pub type a = float;
23+
}
24+
}
25+
}
26+
27+
fn bar() -> name::a { 1 }
28+
29+
fn main(){}

0 commit comments

Comments
 (0)