Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stored value type does not match pointer operand type #9047

Closed
bluss opened this issue Sep 7, 2013 · 2 comments
Closed

Stored value type does not match pointer operand type #9047

bluss opened this issue Sep 7, 2013 · 2 comments

Comments

@bluss
Copy link
Member

bluss commented Sep 7, 2013

The following testcase trips the module verifier. Removing either the loop label or the variable in the loop will remove the error.

fn decode() -> ~str {
    'outer: loop {
        let mut ch_start: uint;
        break 'outer;
    }
    ~""
}

fn main() {}

Stored value type does not match pointer operand type!
  store i8 0, { i64, i64, [0 x i8] }** %__make_return_pointer
 { i64, i64, [0 x i8] }*Broken module found, compilation aborted!
Stack dump:
0.      Running pass 'Module Verifier' on function '@_ZN6decode16_9b82fa348abd2b24v0.0E'

Found in commit 79e78c4

@sfackler
Copy link
Member

sfackler commented Sep 8, 2013

Looks like this was caused by #9026 as well. This compiles fine with 124eb21 reverted.

@jbclements
Copy link
Contributor

following pull request #9090, this is revealed as an ICE related to comparison of idents. Should be a quick(-ish) fix. Assigning bug to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants