-
Notifications
You must be signed in to change notification settings - Fork 13.4k
SIGSEGV matching a struct-like enum in a macro #9049
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
Comments
This regressed in the last day or two. |
Workaround for rust-lang/rust#9049 but probably the right thing to do in any case.
goodness... there's something really freaky going on here. I've found a program near this one that actually behaves nondeterministically:
It seems to seg fault about 1/5 of the time:
|
BTW, what platform did you observe this on? |
Both 64 bit Linux and OSX. |
Okay, narrowing down; it looks like the post-patch version is omitting storage into local vars in the LLVM. I'm guessing this is because of an illegal ident comparison. I'd stick the LLVM diff in here but... I don't think it would be helpful to anyone but me. |
okay, I think I've got the fix for this one. Now to add a test case and run make check.... |
This appears to fix issue #9049. It also re-enables the ICE check on comparing idents for equality; it appears that ICEs are better than seg faults.
apparently fixed by #9090 . |
If I change
Foo
toThe program works as expected. Manually expanding the macro invocation also causes the program to work correctly.
The text was updated successfully, but these errors were encountered: