-
Notifications
You must be signed in to change notification settings - Fork 13k
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
rustc: "error: internal compiler error: debuginfo::set_members_of_composite_type() - Already completed forward declaration re-encountered." #14411
Comments
Curiously, I can't reproduce this:
|
Thanks for filing this, @a-p-! This probably is a duplicate of the other issue you mentioned, but let's leave it open for the time being, since the error messages do look a bit different. |
So far the DWARF information for enums was different for regular enums, univariant enums, Option-like enums, etc. Regular enums were encoded as unions of structs, while the other variants were encoded as bare structs. With the changes in this PR all enums are encoded as unions so that debuggers can reconstruct if something originally was a struct, a univariant enum, or an Option-like enum. For the latter case, information about the *Null* variant is encoded into the union field name. This information can then be used by the debugger to print a `None` value actually as `None` instead of `Some(0x0)`. The changes in this PR should also fix the regression reported in #14385 and #14411, but I want to close these only after I have confirmation from the original reporters that the issues are actually fixed for them.
@michaelwoerister Hello, I've tried with a new build of a recent version of rustc, but still get an ICE:
I've also tried with a nightly build, but it does not give an ICE, however:
The build that results in the ICE was compiled using Clang and linked using gold:
Rust's configure script was executed like:
The llvm-config script reports:
|
I'd like to confirm that this is solved, but I get linker errors when I try to compile An excerpt of the errors I'm getting on OSX:
|
We don't necessarily officially support LLVM 3.3, but it is very nice to support LLVM 3.3! Is the linker error a result of a change you made, or is it the state of master today? |
This is master from just now. I'm currently in the process of trying it out on linux. |
Hm that is suspicious. It looks like it's something that should be relatively easy to fix, but I'm not certain to the cause just by looking at it. |
Maybe my local system is messed up somehow. I wouldn't give my "bug report" just too much weight yet :) |
OK, on Linux do not get any errors when compiling |
@a-p- Would you mind trying it out again? Locally I cannot reproduce the error anymore. |
Closes rust-lang#14480 (vim: Add :RustRun and associated commands) Closes rust-lang#14917 (Deprecate free-standing endian conversions in favor of methods on Int. Merge Bitwise into Int and add more bit operations.) Closes rust-lang#14981 (librustc: Use expr_ty_adjusted in trans_overloaded_call.) Closes rust-lang#14989 (std::task - Revamp TaskBuilder API) Closes rust-lang#14997 (Reject double moves out of array elements) Closes rust-lang#14998 (Vim: highlight escapes for byte literals.) Closes rust-lang#15002 (Fix FIXME rust-lang#5275) Closes rust-lang#15004 (Fix rust-lang#14865) Closes rust-lang#15007 (debuginfo: Add test case for issue rust-lang#14411.) Closes rust-lang#15012 ((doc) Change search placeholder text.) Closes rust-lang#15013 (Update compiler-rt.) Closes rust-lang#15017 (Deprecate the bytes!() macro.)
I'm closing this issue. It's really a duplicate of #14385 which has been confirmed as fixed. |
Versions:
Code to reproduce the ICE:
Compilation output (assuming code is in test.rs):
This might be related to issue #14385.
The text was updated successfully, but these errors were encountered: