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

Nested clean-up-requiring blocks in loop (sometimes) segfault [rustc] #293

Closed
marijnh opened this issue Mar 27, 2011 · 4 comments
Closed
Labels
I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

Comments

@marijnh
Copy link
Contributor

marijnh commented Mar 27, 2011

This one does:

fn main() {
  auto i = 0;
   while (i < 20) {
     {
       auto pt2 = @i;
       auto pt = @i;
       i = *pt + 1;
    }
  }
}
@marijnh
Copy link
Contributor Author

marijnh commented Mar 27, 2011

Here's a simpler case, no segfault, but corrupted memory

EDIT: bogus snippet that didn't reproduce the issue removed

@graydon
Copy link
Contributor

graydon commented Mar 28, 2011

That case makes sense, due to +=. But this one also crashes:

fn main() {
   if (true) {
     {
       auto pt2 = @10;
       log "hi";
    }
  }
}

I'll look closer once I'm in the office. Probably something that will jump out given a .dot CFG.

@brson
Copy link
Contributor

brson commented Jun 23, 2011

I can't reproduce the crash with either snippet. Does anyone think this problem still exists?

@marijnh
Copy link
Contributor Author

marijnh commented Jun 23, 2011

The compiler has changed a lot in the meantime. I guess this was fixed at some point.

@marijnh marijnh closed this as completed Jun 23, 2011
keeperofdakeys pushed a commit to keeperofdakeys/rust that referenced this issue Dec 12, 2017
…crichton

Add the TIOCGWINSZ and TIOCSWINSZ constants

I've added the `TIOCGWINSZ` and `TIOCSWINSZ` constants/ioctl control codes. I wasn't quite sure where to put them, so hopefully they're in the right place.

As of now it's set to compile on 'FreeBSD-like' platforms, so it will compile on both FreeBSD *and* DragonflyBSD. I've only tested it on FreeBSD though, but it should also work on DragonflyBSD AFAIK.

Fixes rust-lang#292.
kazcw pushed a commit to kazcw/rust that referenced this issue Oct 23, 2018
I believe we're reserving the `simd` module for exclusively the portable types
and their operations, so this commit moves the various x86-specific types from
the portable modules to the `x86` module. Along the way this also adds some doc
blocks for all the existing x86 types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
Projects
None yet
Development

No branches or pull requests

3 participants