Skip to content

Conversation

tgross35
Copy link
Contributor

As discussed at #122106, use the crate encoding to represent new primitives.

@rustbot
Copy link
Collaborator

rustbot commented Apr 11, 2024

r? @lcnr

rustbot has assigned @lcnr.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 11, 2024
@tgross35
Copy link
Contributor Author

tgross35 commented Apr 11, 2024

r? @michaelwoerister

This should probably have a test, what does this need to look like?

@rustbot label +F-f16_and_f128

@tgross35
Copy link
Contributor Author

tgross35 commented Apr 12, 2024

That is awesome, thanks for being on the cutting edge of Rust demangling. It really is helpful to know that these changes work.

@michaelwoerister
Copy link
Member

Thanks for opening the PR! Yes, tests will be needed. There are UI tests in https://github.com/rust-lang/rust/blob/master/tests/ui/symbol-names. I'm a bit surprised that the test case for simple types does not test seem to test v0 mangling at all. It would be best to fix that. Let me know if you get stuck, then I can look into updating the existing tests in a separate PR.

@tgross35 tgross35 force-pushed the f16-f128-mangling branch 2 times, most recently from fc914fa to 8e70f82 Compare April 12, 2024 18:13
@tgross35
Copy link
Contributor Author

I added the v0 checks to the types test you linked, and added f16 and f128. I must be doing something with the ERROR checks though, I can't seem to get the attributes to check correctly even though the stderr files look alright.

@tgross35 tgross35 force-pushed the f16-f128-mangling branch from 8e70f82 to 75162ce Compare April 12, 2024 18:29
@rust-log-analyzer

This comment has been minimized.

@tgross35 tgross35 force-pushed the f16-f128-mangling branch from 75162ce to 0182d2b Compare April 13, 2024 02:30
@rust-log-analyzer

This comment has been minimized.

@michaelwoerister
Copy link
Member

It seems that the test case parser cannot deal with - inside revision names in error annotations. I suggest we fix this asap so that others don't waste time debugging this again. Updating this regular expression in compiletest should do the trick:

Lazy::new(|| Regex::new(r"//(?:\[(?P<revs>[\w,]+)])?~(?P<adjust>\||\^*)").unwrap());

That needs to be (?P<revs>[\w\-,]+) because \w apparently does not cover -.

@tgross35
Copy link
Contributor Author

Missed that comment, thanks! Really had me confused.

Opened #124137 to fix this

@michaelwoerister
Copy link
Member

@tgross35, if you want to make progress with this PR, independently of what the fix for compiletest turns out to be, I'd suggest to just rename the verbose-legacy revision to something that currently works.

@tgross35
Copy link
Contributor Author

That's my plan if #124137 doesn't land before I circle back to this. Do the changes look fine, assuming I get the tests to actually pass? I probably also have to change ERROR demangling(<a[HASH]::b::Type<bool>>) to ERROR ::b::Type<bool>>) since normalization doesn't get passed to directives, unfortunately

@tgross35 tgross35 force-pushed the f16-f128-mangling branch from 0182d2b to 153470b Compare April 20, 2024 17:24
@rust-log-analyzer

This comment has been minimized.

@tgross35 tgross35 force-pushed the f16-f128-mangling branch from 153470b to cfbc002 Compare April 20, 2024 18:51
@tgross35 tgross35 force-pushed the f16-f128-mangling branch from cfbc002 to 792a9bd Compare May 14, 2024 10:17
@tgross35
Copy link
Contributor Author

Ah sorry this slipped my mind, thanks for the poke.

@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 14, 2024
@michaelwoerister
Copy link
Member

Thank you, @tgross35!

@bors r+

@bors
Copy link
Collaborator

bors commented May 14, 2024

📌 Commit 792a9bd has been approved by michaelwoerister

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 14, 2024
@bors
Copy link
Collaborator

bors commented May 14, 2024

⌛ Testing commit 792a9bd with merge bdfd941...

@bors
Copy link
Collaborator

bors commented May 14, 2024

☀️ Test successful - checks-actions
Approved by: michaelwoerister
Pushing bdfd941 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 14, 2024
@bors bors merged commit bdfd941 into rust-lang:master May 14, 2024
@rustbot rustbot added this to the 1.80.0 milestone May 14, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (bdfd941): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.4% [-0.5%, -0.2%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.4% [-0.5%, -0.2%] 2

Max RSS (memory usage)

Results (secondary 4.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.3% [4.3%, 4.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 675.763s -> 676.581s (0.12%)
Artifact size: 315.97 MiB -> 315.96 MiB (-0.00%)

@tgross35 tgross35 deleted the f16-f128-mangling branch May 14, 2024 18:17
@tgross35
Copy link
Contributor Author

@rustbot label +beta-nominated

Nominating the first commit of this PR (809b84e) for beta backport as not having it in stage0 is blocking updates to compiler-builtins #125016. Only the first commit since the second adds tests that depend on a rustc-demangle update (part of #124213, which is much larger).

Unsure what the policy is for this kind of less essential update so I asked on Zulip. Risk is qutie low so figure it doesn't hurt to ask.

@rustbot rustbot added the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 16, 2024
@apiraino
Copy link
Contributor

Beta backport approved as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle.

@rustbot label +beta-accepted

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label May 24, 2024
@cuviper cuviper mentioned this pull request May 25, 2024
@cuviper cuviper modified the milestones: 1.80.0, 1.79.0 May 25, 2024
@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label May 25, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request May 25, 2024
[beta] backports - Add `#[inline]` to float `Debug` fallback used by `cfg(no_fp_fmt_parse)` rust-lang#125252 - Add v0 symbol mangling for `f16` and `f128` rust-lang#123816 - Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability rust-lang#125214 - Update to LLVM 18.1.6 rust-lang#125288 r? cuviper
bors added a commit to rust-lang-ci/rust that referenced this pull request May 25, 2024
[beta] backports - Add `#[inline]` to float `Debug` fallback used by `cfg(no_fp_fmt_parse)` rust-lang#125252 - Add v0 symbol mangling for `f16` and `f128` rust-lang#123816 - Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability rust-lang#125214 - Update to LLVM 18.1.6 rust-lang#125288 r? cuviper
celinval pushed a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
Update Rust toolchain from nightly-2024-05-14 to nightly-2024-05-15 without any other source changes. This is an automatically generated pull request. If any of the CI checks fail, manual intervention is required. In such a case, review the changes at https://github.com/rust-lang/rust from rust-lang@ab14f94 up to rust-lang@8387315. The log for this commit range is: rust-lang@8387315ab3 Auto merge of rust-lang#125125 - lovesegfault:opt-dist-specify-rustc-perf, r=Mark-Simulacrum rust-lang@c3c9783de2 feat(tools/opt-dist): allow local builds to specify a rustc-perf checkout rust-lang@ac385a5af6 Auto merge of rust-lang#125120 - compiler-errors:rollup-mnjybwv, r=compiler-errors rust-lang@31016d5879 Rollup merge of rust-lang#125118 - GuillaumeGomez:cleanup-run-make, r=jieyouxu rust-lang@d59f430eec Rollup merge of rust-lang#125100 - compiler-errors:faster, r=nnethercote rust-lang@712e7c37f7 Rollup merge of rust-lang#125088 - compiler-errors:uplift-alias-ty, r=lcnr rust-lang@8c64acdbdc Rollup merge of rust-lang#125080 - bvanjoi:fix-124946, r=nnethercote rust-lang@844c7e826e Rollup merge of rust-lang#125047 - Oneirical:test5, r=jieyouxu rust-lang@0458d8a53b Rollup merge of rust-lang#124844 - compiler-errors:shadow-probe, r=lcnr rust-lang@36287830a2 Rollup merge of rust-lang#119838 - joshtriplett:style-guide-binop-indent, r=compiler-errors rust-lang@ade33b02f2 only find segs chain for missing methods when no available candidates rust-lang@bdfd941f4d Auto merge of rust-lang#123816 - tgross35:f16-f128-mangling, r=michaelwoerister rust-lang@f97d915173 Use new utility functions/methods in run-make tests rust-lang@792a9bdd4b Enable v0 mangling tests and add checks for `f16`/`f128` rust-lang@809b84edba Add v0 symbol mangling for `f16` and `f128` rust-lang@31026b7fe3 Auto merge of rust-lang#125023 - morr0ne:linux-none-target, r=Nilstrieb rust-lang@68407f9049 fix typo in x86_64-unknown-linux-none docs rust-lang@c45e831d8f Auto merge of rust-lang#124228 - compiler-errors:lint-overcaptures, r=oli-obk rust-lang@58426f4a5b Auto merge of rust-lang#125026 - Oneirical:clink-tests, r=jieyouxu rust-lang@e098eb14ae Wording improvement rust-lang@e2d9c0d938 Fix missing word rust-lang@57c32a193f style-guide: When breaking binops handle multi-line first operand better rust-lang@dbd2ca6478 Use a proper probe for shadowing impl rust-lang@052de1da4f And finally add tests rust-lang@1529c661e4 Warn against redundant use<...> rust-lang@f3fb727b08 Don't suggest using use<> syntax to capture APITs rust-lang@6afe1352d9 Suggest adding use<> syntax rust-lang@554becc180 Add some commenting rust-lang@d57e57ca1f Implement initial IMPL_TRAIT_OVERCAPTURES lint rust-lang@8f97a2588c Add test to make sure suggestions are still quick rust-lang@fba5f44bd8 Auto merge of rust-lang#125098 - jhpratt:rollup-2qm4gga, r=jhpratt rust-lang@45b50d303c lto function, static_library call, rename rust-lang@9f8cdb286e Remove to_term rust-lang@1ad28a6f53 Uplift AliasTy rust-lang@812f89728a fix fmt rust-lang@2e4c90c3f7 Don't do post-method-probe error reporting steps if we're in a suggestion rust-lang@32d74f1800 Rollup merge of rust-lang#125090 - erickt:bump-fuchsia, r=tmandry rust-lang@209703af85 Rollup merge of rust-lang#125072 - Darksonn:pin-dyn-dispatch-sound, r=jhpratt rust-lang@18d9c039bb Rollup merge of rust-lang#124997 - gurry:124848-ice-should-be-sized, r=Nadrieril rust-lang@74a78af0e2 Rollup merge of rust-lang#116675 - joshlf:patch-10, r=scottmcm rust-lang@9105c57b7f Auto merge of rust-lang#124256 - nnethercote:rm-NtIdent-NtLifetime, r=petrochenkov rust-lang@34582118af Auto merge of rust-lang#125076 - compiler-errors:alias-term, r=lcnr rust-lang@95e519ecbf Remove `NtIdent` and `NtLifetime`. rust-lang@fa84018c2e Apply nits rust-lang@58ee9192e0 Migrate fuchsia docs from `pm` to `ffx` rust-lang@293b5cb1ca [ptr] Document maximum allocation size rust-lang@3bcdf3058e split out AliasTy -> AliasTerm rust-lang@b3a78c1d09 Add test for dynamic dispatch + Pin::new soundness rust-lang@9a63a42cb7 Remove a `Span` from `TokenKind::Interpolated`. rust-lang@71fd2cf5b4 fix function call and import rust-lang@a1b5ea0cc2 make tidy happy rust-lang@f2de5fb2ae rewrite issue-14500 to rmake rust-lang@a6f237ca85 docs: fix typo in platform-support docs rust-lang@923cdb35aa test: Add assembly tests for x86_64-unknown-linux-none target rust-lang@10c358f111 Make tidy happy rust-lang@e37d2989c1 remove trailing whitespace rust-lang@a2e7e79a13 Port c-link-to-rust-va-list-fn to Rust rust-lang@9cf080099d docs: Document x86_64-unknown-linux-none target rust-lang@a3ef01b1fc Add x86_64-unknown-linux-none target rust-lang@fb619ec208 FIx ICE while casting a type with error Co-authored-by: tautschnig <1144736+tautschnig@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-accepted Accepted for backporting to the compiler in the beta channel. F-f16_and_f128 `#![feature(f16)]`, `#![feature(f128)]` merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

10 participants