-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rollup of 10 pull requests #74245
Rollup of 10 pull requests #74245
Commits on Jun 25, 2020
-
Modify type names on MSVC to make tuples .natvis compatible.
- Mangles (T0, T1) as tuple<T0, T1>, possibly unblocking rust-lang#70052 "Update hashbrown to 0.8.0" - Prettifies Rust tuples similar to VS2017's std::tuple - Improves debuginfo test coverage
Configuration menu - View commit details
-
Copy full SHA for f8eb81b - Browse repository at this point
Copy the full SHA f8eb81bView commit details -
debuginfo: Define int/float types in terms of MSVC-recognized types.
PDB debug information doesn't appear to be emitted for basic types. By defining u32 as a typedef for unsigned __int32 when targeting MSVC, we allow CDB and other debuggers to recognize "u32" as a type/expression. This in turn unblocks rust-lang#70052 "Update hashbrown to 0.8.0" by allowing $T1 ..= $T3 to resolve, which would otherwise fail to resolve when builtin types fail to parse.
Configuration menu - View commit details
-
Copy full SHA for 24a728a - Browse repository at this point
Copy the full SHA 24a728aView commit details
Commits on Jul 5, 2020
-
Optimize is_ascii for &str and &[u8]
Thom Chiovoloni committedJul 5, 2020 Configuration menu - View commit details
-
Copy full SHA for 980d8e1 - Browse repository at this point
Copy the full SHA 980d8e1View commit details -
Avoid
vec!
allocation inis_ascii_slice_*
benchesThom Chiovoloni committedJul 5, 2020 Configuration menu - View commit details
-
Copy full SHA for 63e2e2e - Browse repository at this point
Copy the full SHA 63e2e2eView commit details -
Add benchmark for slice is_ascii using align_to
Thom Chiovoloni committedJul 5, 2020 Configuration menu - View commit details
-
Copy full SHA for e1d4db6 - Browse repository at this point
Copy the full SHA e1d4db6View commit details -
Benchmark the unaligned case for is_ascii, and add missing SAFETY
Thom Chiovoloni committedJul 5, 2020 Configuration menu - View commit details
-
Copy full SHA for 13e380d - Browse repository at this point
Copy the full SHA 13e380dView commit details -
Add 'unrolled' is_ascii_align_to benchmark, and move is_ascii benchma…
…rks into own file
Thom Chiovoloni committedJul 5, 2020 Configuration menu - View commit details
-
Copy full SHA for dc4a644 - Browse repository at this point
Copy the full SHA dc4a644View commit details
Commits on Jul 6, 2020
-
Remove pointless
black_box
call, add a comment about the `unaligned……_` benches, and clean up stray semicolon
Thom Chiovoloni committedJul 6, 2020 Configuration menu - View commit details
-
Copy full SHA for a150dcc - Browse repository at this point
Copy the full SHA a150dccView commit details
Commits on Jul 8, 2020
-
Fix cross-compilation of LLVM to aarch64 Windows targets
When cross-compiling, the LLVM build system recurses to build tools that need to run on the host system. However, since we pass cmake defines to set the compiler and target, LLVM still compiles these tools for the target system, rather than the host. The tools then fail to execute during the LLVM build. This change sets defines for the tools that need to run on the host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build does not attempt to build them, and instead relies on the tools already built. If compiling with clang-cl, this change also adds the `--target` option to specify the target triple. MSVC compilers do not require this, since there is a separate compiler binary for cross-compilation.
Configuration menu - View commit details
-
Copy full SHA for 59f979f - Browse repository at this point
Copy the full SHA 59f979fView commit details -
linker: illumos ld does not support --eh-frame-hdr
As of rust-lang#73564, the --eh-frame-hdr flag is unconditionally passed to linkers on many platforms. The illumos link editor does not currently support this flag. The linker machinery in the Rust toolchain currently seems to use the (potentially cross-compiled) target to choose linker flags, rather than looking at what might be running on the build system. Disabling the flag for all illumos/Solaris targets seems like the best we can do for now without more serious surgery.
Configuration menu - View commit details
-
Copy full SHA for 7fb421b - Browse repository at this point
Copy the full SHA 7fb421bView commit details
Commits on Jul 9, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 520fb92 - Browse repository at this point
Copy the full SHA 520fb92View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6864546 - Browse repository at this point
Copy the full SHA 6864546View commit details -
Configuration menu - View commit details
-
Copy full SHA for a9b6476 - Browse repository at this point
Copy the full SHA a9b6476View commit details
Commits on Jul 10, 2020
-
Minor refactor for rustc_resolve diagnostics match
Use `matches!` instead of old `if let`
Configuration menu - View commit details
-
Copy full SHA for 1fb0ed0 - Browse repository at this point
Copy the full SHA 1fb0ed0View commit details
Commits on Jul 11, 2020
-
Configuration menu - View commit details
-
Copy full SHA for dd872be - Browse repository at this point
Copy the full SHA dd872beView commit details -
Configuration menu - View commit details
-
Copy full SHA for b929f72 - Browse repository at this point
Copy the full SHA b929f72View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6bda2e8 - Browse repository at this point
Copy the full SHA 6bda2e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5de23b - Browse repository at this point
Copy the full SHA f5de23bView commit details -
Rollup merge of rust-lang#72920 - oli-obk:const_transmute, r=RalfJung
Stabilize `transmute` in constants and statics but not const fn cc rust-lang#53605 (leaving issue open so we can add `transmute` to `const fn` later) Previous attempt: rust-lang#64011 r? @RalfJung cc @rust-lang/wg-const-eval
Configuration menu - View commit details
-
Copy full SHA for 90f1d72 - Browse repository at this point
Copy the full SHA 90f1d72View commit details -
Rollup merge of rust-lang#73715 - MaulingMonkey:pr-natvis-tuples, r=A…
…manieu debuginfo: Mangle tuples to be natvis friendly, typedef basic types These changes are meant to unblock rust-lang#70052 "Update hashbrown to 0.8.0" by allowing the use of `tuple<u64, u64>` as a .natvis expression in MSVC style debuggers (MSVC, WinDbg, CDB, etc.) * f8eb81b does the actual mangling of `(u64, u64)` -> `tuple<u64, 64>` * 24a728a allows `u64` to resolve (fixing `$T1` / `$T2` when used to visualize `HashMap<u64, u64, ...>`)
Configuration menu - View commit details
-
Copy full SHA for 084ac77 - Browse repository at this point
Copy the full SHA 084ac77View commit details -
Rollup merge of rust-lang#74066 - thomcc:optimize-is-ascii, r=nagisa
Optimize is_ascii for str and [u8]. This optimizes the `is_ascii` function for `[u8]` and `str`. I've been surprised this wasn't done for a while, so I just did it. Benchmarks comparing before/after look like: ``` test ascii::long_readonly::is_ascii_slice_iter_all ... bench: 174 ns/iter (+/- 79) = 40172 MB/s test ascii::long_readonly::is_ascii_slice_libcore ... bench: 16 ns/iter (+/- 5) = 436875 MB/s test ascii::medium_readonly::is_ascii_slice_iter_all ... bench: 12 ns/iter (+/- 3) = 2666 MB/s test ascii::medium_readonly::is_ascii_slice_libcore ... bench: 2 ns/iter (+/- 0) = 16000 MB/s test ascii::short_readonly::is_ascii_slice_iter_all ... bench: 3 ns/iter (+/- 0) = 2333 MB/s test ascii::short_readonly::is_ascii_slice_libcore ... bench: 4 ns/iter (+/- 0) = 1750 MB/s ``` (Taken on a x86_64 macbook 2.9 GHz Intel Core i9 with 6 cores) Where `is_ascii_slice_iter_all` is the old version, and `is_ascii_slice_libcore` is the new. I tried to document the code well, so hopefully it's understandable. It has fairly exhaustive tests ensuring size/align doesn't get violated -- because `miri` doesn't really help a lot for this sort of code right now, I tried to `debug_assert` all the safety invariants I'm depending on. (Of course, none of them are required for correctness or soundness -- just allows us to test that this sort of pointer manipulation is sound and such). Anyway, thanks. Let me know if you have questions/desired changes.
Configuration menu - View commit details
-
Copy full SHA for 1979fa8 - Browse repository at this point
Copy the full SHA 1979fa8View commit details -
Rollup merge of rust-lang#74116 - arlosi:aarch64build, r=pietroalbini
Fix cross compilation of LLVM to aarch64 Windows targets When cross-compiling, the LLVM build system recurses to build tools that need to run on the host system. However, since we pass cmake defines to set the compiler and target, LLVM still compiles these tools for the target system, rather than the host. The tools then fail to execute during the LLVM build. This change sets defines for the tools that need to run on the host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build does not attempt to build them, and instead relies on the tools already built. If compiling with clang-cl, adds the `--target` option to specify the target triple. MSVC compilers do not require this, since there is a separate compiler binary for each cross-compilation target. Related issue: rust-lang#72881 Requires LLVM change: rust-lang/llvm-project#67
Configuration menu - View commit details
-
Copy full SHA for 9614238 - Browse repository at this point
Copy the full SHA 9614238View commit details -
Rollup merge of rust-lang#74167 - jclulow:illumos-linker-eh-frame-hdr…
…-fix, r=petrochenkov linker: illumos ld does not support --eh-frame-hdr As of rust-lang#73564, the --eh-frame-hdr flag is unconditionally passed to linkers on many platforms. The illumos link editor does not currently support this flag. The linker machinery in the Rust toolchain currently seems to use the (potentially cross-compiled) target to choose linker flags, rather than looking at what might be running on the build system. Disabling the flag for all illumos/Solaris targets seems like the best we can do for now without more serious surgery.
Configuration menu - View commit details
-
Copy full SHA for 8f8ff15 - Browse repository at this point
Copy the full SHA 8f8ff15View commit details -
Rollup merge of rust-lang#74168 - JohnTitor:help-for-in-band-lifetime…
…s, r=petrochenkov Add a help to use `in_band_lifetimes` in nightly Fixes rust-lang#73775
Configuration menu - View commit details
-
Copy full SHA for 9f7b64e - Browse repository at this point
Copy the full SHA 9f7b64eView commit details -
Rollup merge of rust-lang#74197 - estebank:self-sugg, r=petrochenkov
Reword incorrect `self` token suggestion
Configuration menu - View commit details
-
Copy full SHA for e15fa45 - Browse repository at this point
Copy the full SHA e15fa45View commit details -
Rollup merge of rust-lang#74213 - pickfire:patch-1, r=jonas-schievink
Minor refactor for rustc_resolve diagnostics match Use `matches!` instead of old `if let`
Configuration menu - View commit details
-
Copy full SHA for 6204a73 - Browse repository at this point
Copy the full SHA 6204a73View commit details -
Rollup merge of rust-lang#74240 - da-x:fix-74081, r=Manishearth
Fix rust-lang#74081 and add the test case from rust-lang#74236
Configuration menu - View commit details
-
Copy full SHA for aa04ffb - Browse repository at this point
Copy the full SHA aa04ffbView commit details -
Rollup merge of rust-lang#74241 - RalfJung:miri, r=RalfJung
update miri This incorporates rust-lang/miri#1474. [Last time](rust-lang#74146) that change caused trouble but I fixed xargo since then and [now it should work](rust-lang#74146 (comment)). Cc @rust-lang/miri r? @ghost
Configuration menu - View commit details
-
Copy full SHA for 95c5fb8 - Browse repository at this point
Copy the full SHA 95c5fb8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8c4fd7 - Browse repository at this point
Copy the full SHA c8c4fd7View commit details