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

debuginfo: Unified namespace generation approach for crate-local and external items. #9658

Merged
merged 1 commit into from
Oct 8, 2013

Conversation

michaelwoerister
Copy link
Member

This should fix some outstanding namespace issues. It also fixes an issue with LLVM metadata uniquing that caused an LLVM assertion when compiling libstd.

One thing to keep in mind is that the -O flag and the debug info flags are essentially incompatible. It may work but I would not consider this in any way supported at the moment. On the other hand, there is also good news: With the changes in this PR I am able to compile all of rust with extra-debug-info:

make RUSTFLAGS_STAGE2='-Zextra-debug-info' check

compiles the whole thing without warning and passes the whole test suite (given that configure is run with --disable-optimize). That's kind of nice :) Still, I'm reluctant to automatically close the related issues (#9167, #9190, #9268) without confirmation from the openers. I'll post to the individual threads once this gets merged.

@michaelwoerister
Copy link
Member Author

Updated and rebased :)

@alexcrichton
Copy link
Member

needs a rebase again :(

…external items. Fixed bug related to LLVM metadata uniquing.
@michaelwoerister
Copy link
Member Author

Done 👍

bors added a commit that referenced this pull request Oct 8, 2013
This should fix some outstanding namespace issues. It also fixes an issue with LLVM metadata uniquing that caused an LLVM assertion when compiling libstd.

One thing to keep in mind is that the `-O` flag and the debug info flags are essentially incompatible. It may work but I would not consider this in any way supported at the moment. On the other hand, there is also good news: With the changes in this PR I am able to compile all of rust with extra-debug-info:
```
make RUSTFLAGS_STAGE2='-Zextra-debug-info' check
```
compiles the whole thing without warning and passes the whole test suite (given that `configure` is run with `--disable-optimize`). That's kind of nice `:)` Still, I'm reluctant to automatically close the related issues (#9167, #9190, #9268) without confirmation from the openers. I'll post to the individual threads once this gets merged.
@bors bors closed this Oct 8, 2013
@bors bors merged commit 85deeea into rust-lang:master Oct 8, 2013
@alexcrichton
Copy link
Member

This is awesome, thanks so much!

@michaelwoerister
Copy link
Member Author

This is awesome, thanks so much!

:)

bors added a commit that referenced this pull request Jan 2, 2014
This pull request fixes #11083. The problem was that recursive type definitions were not properly handled for enum types, leading to problems with LLVM's metadata "uniquing". This bug has already been fixed for struct types some time ago (#9658) but I seem to have forgotten about enums back then. I added the offending code from issue #11083 as a test case.
@michaelwoerister michaelwoerister deleted the namespace_fixes branch February 7, 2022 09:28
flip1995 pushed a commit to flip1995/rust that referenced this pull request Oct 20, 2022
Add new lint `partial_pub_fields`

Signed-off-by: TennyZhuang <zty0826@gmail.com>

*Please write a short comment explaining your change (or "none" for internal only changes)*

changelog: `partial_pub_fields`: new lint to disallow partial fields of a struct be pub

Resolve rust-lang#9604
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 this pull request may close these issues.

4 participants