about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-03-16Remove MetadataOnlyCodegenBackendbjorn3-149/+2
2019-03-16Rollup merge of #58976 - phil-opp:patch-2, r=alexcrichtonkennytm-1/+1
Default to integrated `rust-lld` linker for UEFI targets The `x86_64-unknown-uefi` target was added in https://github.com/rust-lang/rust/pull/56769 with the linker defaulting to `lld-link`. This means that a system linker with that name is required for linking. I think defaulting to `rust-lld`, which is shipped with Rust, is a better default for the following reasons: - Most systems don't have `lld-link` installed, so it forces users to install it first. - The naming of LLD executables is not standarized, so users often need to create an additional symlink before things work. For example, on Ubuntu `apt install lld` leads to an executable named `lld-link-6.0`. - We already default to `rust-lld` for [many targets](https://github.com/rust-lang/rust/search?utf8=%E2%9C%93&q=rust-lld&type=), including embedded and WASM targets, so doing the same for UEFI crates seems consistent to me. (It even seems like `x86_64-unknown-uefi` is the [only target](https://github.com/rust-lang/rust/search?q=lld-link&unscoped_q=lld-link) that uses `lld-link`.) cc @dvdhrm who added the target and @kkk669 who [proposed to use `rust-lld`](https://github.com/rust-lang/rust/pull/56769#issuecomment-461119648).
2019-03-16Rollup merge of #58949 - jethrogb:jb/sgx-thread-id, r=joshtriplettkennytm-0/+6
SGX target: Expose thread id function in os module In order to call `std::os::fortanix_sgx::usercalls::send`, you need the thread id. This exposes it through another function in `std::os::fortanix_sgx`. I looked at how other platforms do this. On Windows and `cfg(unix)` you can get the OS handle from a `thread::JoinHandle`, but that's not sufficient, I need it for a `thread::Thread`. In the future, this functionality could be added to `thread::Thread` and this platform can follow suit. r? @joshtriplett
2019-03-16Rollup merge of #58941 - wzssyqa:master, r=alexcrichtonkennytm-0/+115
MIPS: add r6 support MIPS r6 is quite different with the previous version. It use some new target triples: mipsisa32r6-unknown-linux-gnu mipsisa32r6el-unknown-linux-gnu mipsisa64r6-unknown-linux-gnuabi64 mipsisa64r6el-unknown-linux-gnuabi64 This patch has been tested with Debian Port for mips64r6el, and the support of these triples also is included in llvm: https://reviews.llvm.org/rGe58c45a695f39004710b6ce940d489fee800dbd3
2019-03-16Rollup merge of #58938 - dlrobertson:fix_58280, r=joshtriplettkennytm-7/+7
core: ensure VaList passes improper_ctypes lint Ensure the `core::ffi::VaList` structure passes the `improper_ctypes` lint. Fixes: #58280
2019-03-16Rollup merge of #58933 - SimonSapin:alloc-prelude-v1, r=Amanieukennytm-19/+27
Move alloc::prelude::* to alloc::prelude::v1, make alloc a subset of std This was one of the unresolved questions of https://github.com/rust-lang/rfcs/pull/2480. As the RFC says this is maybe not useful in the sense that we are unlikely to ever have a second version, but making the crate a true subset makes one less issue to think about if we stabilize it and later want to merge standard library crates and have Cargo feature flags to enable or disable parts of the `std` crate. See also discussion in https://github.com/rust-lang/rust/pull/58175. Also rename the feature gate and point to a dedicated tracking issue: https://github.com/rust-lang/rust/issues/58935
2019-03-16Rollup merge of #58901 - ebarnard:just-copying, r=sfacklerkennytm-2/+108
Change `std::fs::copy` to use `copyfile` on MacOS and iOS `copyfile` on MacOS is similar to `CopyFileEx` on Windows. It supports copying resource forks, extended attributes, and file ACLs, none of which are copied by the current generic unix implementation. The API is available from MacOS 10.7 and iOS 4.3 (and possibly earlier but I haven't checked). Closes #58895.
2019-03-16Rollup merge of #58873 - GuillaumeGomez:fix-auto-hide-method-doc, ↵kennytm-32/+37
r=QuietMisdreavus Fix "Auto-hide item methods documentation" setting Fixes #58825. r? @QuietMisdreavus
2019-03-16Rollup merge of #58855 - alexcrichton:wasm-multithreaded-alloc, r=fitzgenkennytm-15/+80
std: Spin for a global malloc lock on wasm32 There's lots of comments in the code, but the main gist of this commit is that the acquisition of the global malloc lock on the `wasm32-unknown-unknown` target when threads are enabled will not spin on contention rather than block.
2019-03-16Rollup merge of #58854 - alexcrichton:update-windows, r=Mark-Simulacrumkennytm-0/+0
appveyor: Use VS2017 for all our images Originally added in #55935 to test build times, this was reverted in #56201 due to a belief that it caused the exit code 259 spurious errors. We've since learned, however, that the 259 exit code is likely not related to this image update as we're getting it in a number of locations now. VS2017 looks like it may be required to compile LLVm in the near future, notably discovered by #58408 where we attempted to update LLVM.
2019-03-16fix testsGrigorii Kargin-6/+6
2019-03-15Option and Result: Add references to documentation of as_ref and as_mutChris Gregory-4/+4
2019-03-15Elide object safety errors on non-existent trait functionEsteban Küber-21/+74
Fix #58734.
2019-03-15Auto merge of #58556 - oli-obk:imperative_recursion, r=pnkfelixbors-39/+165
Optimize copying large ranges of undefmask blocks Hopefully fixes #58523
2019-03-15use `!` in macro disambiguation suggestionAndy Russell-3/+6
2019-03-15replace ad-hoc namespace enumsAndy Russell-103/+72
2019-03-15overhaul intra-doc-link ambiguity warningAndy Russell-95/+266
- Makes the warning part of the `intra_doc_link_resolution_failure` lint. - Tightens the span to just the ambiguous link. - Reports ambiguities across all three namespaces. - Uses structured suggestions for disambiguation. - Adds a test for the warnings.
2019-03-16a simple refactoring and removing comment.kenta7777-2/+1
2019-03-16removed some unnecessary comments.kenta7777-2/+0
2019-03-15Track changes to robots.txtKornel-0/+19
2019-03-15Remove copyright noticesDouglas Creager-42/+1
2019-03-15Add x86_64 musl host to the manifestMateusz Mikuła-0/+1
2019-03-15Auto merge of #58140 - eddyb:advent-of-print, r=nikomatsakisbors-2933/+3407
Refactor ppaux out of existence. A long-time coming, this PR reorganizes and rewrites the pretty-printing architecture of rustc, specifically the parts that involve the typesystem (which used to be in `rustc::util::ppaux`). *Note: these commits used to be in #57967 before being split off.* The new API (i.e. the `Printer` and `PrettyPrint` traits) is in `rustc::ty::print`. Design points, roughly: * using associated types in `Printer` to allow building e.g. an AST, not just printing as a side-effect * several overloading points for implementers of `PrettyPrinter`, e.g. how `<...>` is printed * for `fmt::Display` impls, the value to print is lifted to the `ty::tls` `tcx`, and everything after that stays within the `ty::print` API, which requires `'tcx` to match between values and the printer's `tcx`, without going through `fmt::Display` again Most of the behavior is unchanged, except for a few details, which should be clear from the test changes. r? @nikomatsakis Fixes https://github.com/rust-lang/rust/issues/55464
2019-03-15Remove restriction on isize/usize in repr(simd)Brian Campbell-12/+34
As discussed in #55078, there's no known reason for this restriction. It's unlikely that repr(simd) will be stabilized in its current form, but might as well remove some restrictions on it. This removes the branch in `is_machine` which returns false for these types. `is_machine` is only used for the repr(simd) type validation check.
2019-03-15reduced a code repetition related to bit operation.kenta7777-4/+3
2019-03-15rustbuild: remove obsolete fulldeps behavior from src/test/pretty tests, and ↵Eduard-Mihai Burtescu-10/+3
enable them by default.
2019-03-15Fix rebase fallout and address some review comments.Eduard-Mihai Burtescu-1/+9
2019-03-15we can now print on entering/leaving the topmost frame, and make sure it ↵Ralf Jung-16/+13
stays that way
2019-03-15rustc: print ExistentialProjection with spaces around `=`, e.g. `dyn Foo<A = ↵Eduard-Mihai Burtescu-21/+21
X>`.
2019-03-15rustc: provide DisambiguatedDefPathData in ty::print.Eduard-Mihai Burtescu-71/+127
2019-03-15rustc: slice substs in ty::print instead of passing the full ones.Eduard-Mihai Burtescu-88/+79
2019-03-15rustc: let ty::print::pretty's p! macro call arbitrary methods.Eduard-Mihai Burtescu-35/+32
2019-03-15rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt.Eduard-Mihai Burtescu-907/+850
2019-03-15rustc: remove the ability for pretty-printers to override nesting.Eduard-Mihai Burtescu-70/+59
2019-03-15rustc: don't thread existential projections through path_generic_args.Eduard-Mihai Burtescu-156/+251
2019-03-15rustc: make `pretty_path_generic_args`' task as simple as possible.Eduard-Mihai Burtescu-88/+70
2019-03-15rustc: print elided regions as '_ instead of nothing, and use a separate ↵Eduard-Mihai Burtescu-39/+41
check when optional.
2019-03-15rustc: always hide defaulted generic args, even in verbose mode.Eduard-Mihai Burtescu-27/+30
2019-03-15rustc: move ty::print::PrintConfig's fields to FmtPrinter.Eduard-Mihai Burtescu-190/+185
2019-03-15rustc: streamline the Print/fmt::Display impls in ppaux and move them to ↵Eduard-Mihai Burtescu-425/+303
ty::print::pretty.
2019-03-15rustc: remove obsolete hacks from ppaux, relating to normalization under HRTB.Eduard-Mihai Burtescu-104/+142
2019-03-15rustc: move Debug impls from ppaux to ty::structural_impls.Eduard-Mihai Burtescu-287/+288
2019-03-15rustc: disconnect all the Debug functionality from ty::print.Eduard-Mihai Burtescu-210/+141
2019-03-15rustc: make util::ppaux private.Eduard-Mihai Burtescu-27/+23
2019-03-15rustc: remove fields from ty::print::PrintConfig available from tcx.Eduard-Mihai Burtescu-39/+29
2019-03-15rustc: split out the pretty-printing parts of ty::print into a separate module.Eduard-Mihai Burtescu-1275/+1324
2019-03-15rustc: move ty/print.rs to ty/print/mod.rs.Eduard-Mihai Burtescu-0/+0
2019-03-15rustc_codegen_utils: print all nominal types as paths, in symbol names.Eduard-Mihai Burtescu-2/+28
2019-03-15rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter.Eduard-Mihai Burtescu-156/+102
2019-03-15rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>".Eduard-Mihai Burtescu-117/+132