summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2020-07-13Stable 1.45.0 releaseMark Rousskov-1/+1
2020-07-10ci: fix wasm32 broken due to a NodeJS version bumpPietro Albini-1/+12
Emscripten's SDK recently bumped the version of NodeJS they shipped, but our Dockerfile for the wasm32 builder hardcoded the version number. This will cause consistent CI failures once the currently cached image is rebuilt (either due to a change or due to the cache expiring). This commit fixes the problem by finding the latest version of NodeJS in the Emscripten SDK and symlinking it to a "latest" directory, which is then added to the PATH.
2020-07-10Change how compiler-builtins gets many CGUsAlex Crichton-48/+15
This commit intends to fix an accidental regression from #70846. The goal of #70846 was to build compiler-builtins with a maximal number of CGUs to ensure that each module in the source corresponds to an object file. This high degree of control for compiler-builtins is desirable to ensure that there's at most one exported symbol per CGU, ideally enabling compiler-builtins to not conflict with the system libgcc as often. In #70846, however, only part of the compiler understands that compiler-builtins is built with many CGUs. The rest of the compiler thinks it's building with `sess.codegen_units()`. Notably the calculation of `sess.lto()` consults `sess.codegen_units()`, which when there's only one CGU it disables ThinLTO. This means that compiler-builtins is built without ThinLTO, which is quite harmful to performance! This is the root of the cause from #73135 where intrinsics were found to not be inlining trivial functions. The fix applied in this commit is to remove the special-casing of compiler-builtins in the compiler. Instead the build system is now responsible for special-casing compiler-builtins. It doesn't know exactly how many CGUs will be needed but it passes a large number that is assumed to be much greater than the number of source-level modules needed. After reading the various locations in the compiler source, this seemed like the best solution rather than adding more and more special casing in the compiler for compiler-builtins. Closes #73135
2020-07-10Reoder order in which MinGW libs are linkedMateusz Mikuła-1/+1
2020-07-10Perform obligation deduplication to avoid buggy `ExistentialMismatch`Esteban Küber-3/+39
Fix #59326.
2020-07-10rustc_lexer: Simplify shebang parsing once moreVadim Petrochenkov-20/+21
2020-07-10rustdoc: Rename invalid_codeblock_attribute lint to be pluralOliver Middleton-14/+14
2020-07-10rustdoc: Fix doc aliases with crate filteringOliver Middleton-8/+55
Fix a crash when searching for an alias contained in the currently selected filter crate. Also remove alias search results for crates that should be filtered out. The test suite needed to be fixed to actually take into account the crate filtering and check that there are no results when none are expected.
2020-06-26Beta backport of PR #73005 (obligation error impl candidate)Aaron Hill-181/+55
2020-06-26Ensure stack when building MIR for matchesSimonas Kazlauskas-23/+5233
In particular matching on complex types such as strings will cause deep recursion to happen. Fixes #72933
2020-06-26Don't run test on emscripten which doesn't have threadsAmanieu d'Antras-0/+1
2020-06-26Add -O compile flag to testAmanieu d'Antras-0/+1
2020-06-26Fix link error with #[thread_local] introduced by #71192Amanieu d'Antras-0/+20
2020-06-26Allow inference regions when relating constsTyler Mandry-10/+13
Fixes #73050
2020-06-26Disable the `SimplifyArmIdentity` pass on betaWesley Wiser-62/+87
This pass is buggy so I'm disabling it to fix a stable-to-beta regression. Related to #73223
2020-06-26linker: Never pass `-no-pie` to non-gnu linkersVadim Petrochenkov-2/+2
2020-06-26Add issue number to novel violation warningDylan MacKenzie-2/+5
2020-06-26Add regression test for #73431Dylan MacKenzie-0/+29
2020-06-26Make novel structural match violations a warningDylan MacKenzie-1/+5
2020-06-15Enable lld for Cargo tests on Windows.Eric Huss-2/+2
2020-06-15Update cargo to include rust-lang/cargo#8361Mark Rousskov-0/+0
2020-06-13Bump bootstrap to released stableMark Rousskov-2/+2
2020-06-13further bless tests.Felix S. Klock II-19/+19
2020-06-13placate tidy.Felix S. Klock II-1/+1
2020-06-13Revert "Defer creating drop trees in MIR lowering until leaving that scope"Felix S. Klock II-769/+735
This reverts commit 611988551fba1bcbb33ae2e1e0171cb8d2e70d5a.
2020-06-13Revert "Reduce the number of drop-flag assignments in unwind paths"Felix S. Klock II-12/+39
This reverts commit 54aa418a6082b364b90feee70b07381ea266c4d5.
2020-06-13Revert "Add some more comments"Felix S. Klock II-19/+6
This reverts commit 1a19c1da735eb1cb574ab55a3568e8c13498c490.
2020-06-13Revert "Bless mir-opt tests"Felix S. Klock II-819/+973
This reverts commit a030c923412b0a0f7b02a585debe7bf60357370d.
2020-06-13Revert "Address review comments"Felix S. Klock II-11/+7
This reverts commit b998497bd41d6de71ec035433247dee856d1f3a5.
2020-06-13remove assertBastian Kauschke-2/+1
2020-06-13normalize adt fields during structural match checkBastian Kauschke-1/+28
2020-06-13Add regression test for #73137Dylan MacKenzie-0/+42
Co-authored-by: Aaron1011 <aa1ronham@gmail.com>
2020-06-13Revert "Auto merge of #71956 - ↵Mark Rousskov-254/+372
ecstatic-morse:remove-requires-storage-analysis, r=tmandry" This reverts commit 458a3e76294fd859fb037f425404180c91e14767, reversing changes made to d9417b385145af1cabd0be8a95c65075d2fc30ff.
2020-06-13[beta] Update cargoEric Huss-0/+0
2020-06-13Fix emcc failure for wasm32.Eric Huss-0/+3
2020-06-13Revert heterogeneous SocketAddr PartialEq implsDavid Tolnay-40/+0
These lead to inference regressions (mostly in tests) in code that looks like: let socket = std::net::SocketAddrV4::new(std::net::Ipv4Addr::new(127, 0, 0, 1), 8080); assert_eq!(socket, "127.0.0.1:8080".parse().unwrap()); That compiles as of stable 1.44.0 but fails in beta with: error[E0284]: type annotations needed --> src/main.rs:3:41 | 3 | assert_eq!(socket, "127.0.0.1:8080".parse().unwrap()); | ^^^^^ cannot infer type for type parameter `F` declared on the associated function `parse` | = note: cannot satisfy `<_ as std::str::FromStr>::Err == _` help: consider specifying the type argument in the method call | 3 | assert_eq!(socket, "127.0.0.1:8080".parse::<F>().unwrap()); |
2020-06-13Add test for comparing SocketAddr with inferred right-hand sideDavid Tolnay-0/+5
2020-06-02Cherry-pick rustfmt unstable-dependent fixesMark Rousskov-22/+0
2020-06-02[beta] 1.45 promotedMark Rousskov-6/+6
2020-06-02Auto merge of #72672 - seritools:remote-test-windows, r=Mark-Simulacrumbors-40/+89
Make remote-test-client and remote-test-server compatible with windows `compiletest` and `remote-test-client`: The command line for `remote-test-client` was changed slightly to allow cross-platform compatible paths. The old way of supplying the support libs was by joining their paths with the executable path with `:`. This caused Windows-style paths to be split after the directory letter. Now, the number of support libs is provided as a parameter as well, and the support lib paths are split off from the regular args in the client. `remote-test-server`: - Marked Unix-only parts as such and implemented Windows alternatives - On Windows `LD_LIBRARY_PATH` doesn't exist. Libraries are loaded from `PATH` though, so that's the way around it. - Tiny cleanup: `Command::args`/`envs` instead of manually looping over them - The temp path for Windows has to be set via environment variable, since there isn't a global temp directory that would work on every machine (as a static string)
2020-06-02Rollup merge of #72893 - RalfJung:unleash-tls, r=ecstatic-morseYuki Okushi-15/+58
test miri-unleash TLS accesses Finally gets rid of `IS_SUPPORTED_IN_MIRI`. :-) I also added a test for the new `asm!` while I am at it. r? @ecstatic-morse Cc @rust-lang/wg-const-eval
2020-06-02Rollup merge of #72891 - lzutao:wrapping_int-max, r=sfacklerYuki Okushi-12/+4
Add associated consts MIN/MAX for Wrapping<Int>
2020-06-02Rollup merge of #72889 - alexcrichton:update-wasm-threads, r=nikomatsakisYuki Okushi-4/+0
rustc: Remove the `--passive-segments` LLD flag on wasm This flag looks like it's been removed in LLVM 10, so this removes rustc unconditionally passing the flag.
2020-06-02Rollup merge of #72886 - xfix:patch-21, r=jonas-schievinkYuki Okushi-1/+0
Remove allow missing_debug_implementations for MaybeUninit It already has a Debug implementation.
2020-06-02Rollup merge of #72880 - GuillaumeGomez:cleanup-e0637, r=Dylan-DPCYuki Okushi-1/+4
Clean up E0637 explanation r? @Dylan-DPC
2020-06-02Rollup merge of #72825 - Amanieu:asm-warning, r=davidtwcoYuki Okushi-12/+21
Clarify errors and warnings about the transition to the new asm! Hopefully addresses the concerns from https://github.com/rust-lang/rust/pull/71007#issuecomment-636412905.
2020-06-02Rollup merge of #72822 - lcnr:intern-me, r=estebankYuki Okushi-1/+5
remove trivial calls to mk_const similar to #72754
2020-06-02Rollup merge of #72795 - petrochenkov:identgroup, r=nikomatsakisYuki Okushi-33/+99
Add a test for `$:ident` in proc macro input cc https://github.com/rust-lang/rust/issues/72545#issuecomment-636388019
2020-06-02Rollup merge of #72775 - JohnTitor:await-sugg, r=estebankYuki Okushi-7/+46
Return early to avoid ICE Fixes #72766
2020-06-02Fix commentRalf Jung-1/+1
Co-authored-by: Aaron Hill <aa1ronham@gmail.com>