- Notifications
You must be signed in to change notification settings - Fork14.1k
Add v0 symbol mangling forf16 andf128#123816
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
rustbot commentedApr 11, 2024
tgross35 commentedApr 11, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
This should probably have a test, what does this need to look like? @rustbot label +F-f16_and_f128 |
wargio commentedApr 12, 2024
In our demangler i have added these tests:https://github.com/rizinorg/rz-libdemangle/pull/65/files#diff-2714036a391c793a3dc93f3a3194c9d3998b9af31cc717a026e43058cd5b5e99R75-R78 |
tgross35 commentedApr 12, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
That is awesome, thanks for being on the cutting edge of Rust demangling. It really is helpful to know that these changes work. |
michaelwoerister commentedApr 12, 2024
Thanks for opening the PR! Yes, tests will be needed. There are UI tests inhttps://github.com/rust-lang/rust/blob/master/tests/ui/symbol-names. I'm a bit surprised thatthe 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. |
fc914fa to8e70f82Comparetgross35 commentedApr 12, 2024
I added the v0 checks to the types test you linked, and added |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
michaelwoerister commentedApr 16, 2024
It seems that the test case parser cannot deal with rust/src/tools/compiletest/src/errors.rs Line 121 in63f70b3
That needs to be |
tgross35 commentedApr 18, 2024
Missed that comment, thanks! Really had me confused. Opened#124137 to fix this |
michaelwoerister commentedApr 19, 2024
@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 |
tgross35 commentedApr 19, 2024
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 |
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading.Please reload this page.
tgross35 commentedMay 14, 2024
Ah sorry this slipped my mind, thanks for the poke. @rustbot ready |
michaelwoerister commentedMay 14, 2024
bors commentedMay 14, 2024
bors commentedMay 14, 2024
bors commentedMay 14, 2024
☀️ Test successful -checks-actions |
rust-timer commentedMay 14, 2024
Finished benchmarking commit (bdfd941):comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
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.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 675.763s -> 676.581s (0.12%) |
tgross35 commentedMay 16, 2024
@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 soI asked on Zulip. Risk is qutie low so figure it doesn't hurt to ask. |
apiraino commentedMay 24, 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 resolvabilityrust-lang#125214- Update to LLVM 18.1.6rust-lang#125288r? cuviper
[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 resolvabilityrust-lang#125214- Update to LLVM 18.1.6rust-lang#125288r? cuviper
Update Rust toolchain from nightly-2024-05-14 to nightly-2024-05-15without any other source changes.This is an automatically generated pull request. If any of the CI checksfail, manual intervention is required. In such a case, review thechanges athttps://github.com/rust-lang/rust fromrust-lang@ab14f94up torust-lang@8387315.The log for this commit range is:rust-lang@8387315ab3 Auto merge ofrust-lang#125125 - lovesegfault:opt-dist-specify-rustc-perf, r=Mark-Simulacrumrust-lang@c3c9783de2feat(tools/opt-dist): allow local builds to specify a rustc-perfcheckoutrust-lang@ac385a5af6 Auto merge ofrust-lang#125120 - compiler-errors:rollup-mnjybwv, r=compiler-errorsrust-lang@31016d5879 Rollup merge ofrust-lang#125118 - GuillaumeGomez:cleanup-run-make, r=jieyouxurust-lang@d59f430eec Rollup merge ofrust-lang#125100 - compiler-errors:faster, r=nnethercoterust-lang@712e7c37f7 Rollup merge ofrust-lang#125088 - compiler-errors:uplift-alias-ty, r=lcnrrust-lang@8c64acdbdc Rollup merge ofrust-lang#125080 - bvanjoi:fix-124946, r=nnethercoterust-lang@844c7e826e Rollup merge ofrust-lang#125047 - Oneirical:test5, r=jieyouxurust-lang@0458d8a53b Rollup merge ofrust-lang#124844 - compiler-errors:shadow-probe, r=lcnrrust-lang@36287830a2 Rollup merge ofrust-lang#119838 - joshtriplett:style-guide-binop-indent, r=compiler-errorsrust-lang@ade33b02f2 only find segs chainfor missing methods when no available candidatesrust-lang@bdfd941f4d Auto merge ofrust-lang#123816 - tgross35:f16-f128-mangling, r=michaelwoeristerrust-lang@f97d915173 Use new utilityfunctions/methods in run-make testsrust-lang@792a9bdd4b Enable v0 manglingtests and add checks for `f16`/`f128`rust-lang@809b84edba Add v0 symbolmangling for `f16` and `f128`rust-lang@31026b7fe3 Auto merge ofrust-lang#125023 - morr0ne:linux-none-target, r=Nilstriebrust-lang@68407f9049 fix typo inx86_64-unknown-linux-none docsrust-lang@c45e831d8f Auto merge ofrust-lang#124228 - compiler-errors:lint-overcaptures, r=oli-obkrust-lang@58426f4a5b Auto merge ofrust-lang#125026 - Oneirical:clink-tests, r=jieyouxurust-lang@e098eb14ae Wording improvementrust-lang@e2d9c0d938 Fix missing wordrust-lang@57c32a193f style-guide: Whenbreaking binops handle multi-line first operand betterrust-lang@dbd2ca6478 Use a proper probefor shadowing implrust-lang@052de1da4f And finally addtestsrust-lang@1529c661e4 Warn againstredundant use<...>rust-lang@f3fb727b08 Don't suggest usinguse<> syntax to capture APITsrust-lang@6afe1352d9 Suggest adding use<>syntaxrust-lang@554becc180 Add some commentingrust-lang@d57e57ca1f Implement initialIMPL_TRAIT_OVERCAPTURES lintrust-lang@8f97a2588c Add test to makesure suggestions are still quickrust-lang@fba5f44bd8 Auto merge ofrust-lang#125098 - jhpratt:rollup-2qm4gga, r=jhprattrust-lang@45b50d303c lto function,static_library call, renamerust-lang@9f8cdb286e Remove to_termrust-lang@1ad28a6f53 Uplift AliasTyrust-lang@812f89728a fix fmtrust-lang@2e4c90c3f7 Don't dopost-method-probe error reporting steps if we're in a suggestionrust-lang@32d74f1800 Rollup merge ofrust-lang#125090 - erickt:bump-fuchsia, r=tmandryrust-lang@209703af85 Rollup merge ofrust-lang#125072 - Darksonn:pin-dyn-dispatch-sound, r=jhprattrust-lang@18d9c039bb Rollup merge ofrust-lang#124997 - gurry:124848-ice-should-be-sized, r=Nadrierilrust-lang@74a78af0e2 Rollup merge ofrust-lang#116675 - joshlf:patch-10, r=scottmcmrust-lang@9105c57b7f Auto merge ofrust-lang#124256 - nnethercote:rm-NtIdent-NtLifetime, r=petrochenkovrust-lang@34582118af Auto merge ofrust-lang#125076 - compiler-errors:alias-term, r=lcnrrust-lang@95e519ecbf Remove `NtIdent` and`NtLifetime`.rust-lang@fa84018c2e Apply nitsrust-lang@58ee9192e0 Migrate fuchsia docsfrom `pm` to `ffx`rust-lang@293b5cb1ca [ptr] Documentmaximum allocation sizerust-lang@3bcdf3058e split out AliasTy ->AliasTermrust-lang@b3a78c1d09 Add test for dynamicdispatch + Pin::new soundnessrust-lang@9a63a42cb7 Remove a `Span` from`TokenKind::Interpolated`.rust-lang@71fd2cf5b4 fix function calland importrust-lang@a1b5ea0cc2 make tidy happyrust-lang@f2de5fb2ae rewrite issue-14500to rmakerust-lang@a6f237ca85 docs: fix typo inplatform-support docsrust-lang@923cdb35aa test: Add assemblytests for x86_64-unknown-linux-none targetrust-lang@10c358f111 Make tidy happyrust-lang@e37d2989c1 remove trailingwhitespacerust-lang@a2e7e79a13 Portc-link-to-rust-va-list-fn to Rustrust-lang@9cf080099d docs: Documentx86_64-unknown-linux-none targetrust-lang@a3ef01b1fc Addx86_64-unknown-linux-none targetrust-lang@fb619ec208 FIx ICE whilecasting a type with errorCo-authored-by: tautschnig <1144736+tautschnig@users.noreply.github.com>
As discussed at#122106, use the crate encoding to represent new primitives.