about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-01-14rustc_trans: rename CrateContext to CodegenCx.Eduard-Mihai Burtescu-273/+273
2018-01-14rustc_trans: access fields directly on CrateContext.Eduard-Mihai Burtescu-393/+298
2018-01-14rustc_trans: remove unused `TargetDataRef` accessor.Eduard-Mihai Burtescu-9/+0
2018-01-14rustc_trans: collapse {Local,Shared}CrateContext.Eduard-Mihai Burtescu-243/+113
2018-01-14Auto merge of #47223 - alexcrichton:new-target-feature, r=eddybbors-61/+262
rustc: Tweak `#[target_feature]` syntax This is an implementation of the `#[target_feature]` syntax-related changes of [RFC 2045][rfc]. Notably two changes have been implemented: * The new syntax is `#[target_feature(enable = "..")]` instead of `#[target_feature = "+.."]`. The `enable` key is necessary instead of the `+` to indicate that a feature is being enabled, and a sub-list is used for possible expansion in the future. Additionally within this syntax the feature names being enabled are now whitelisted against a known set of target feature names that we know about. * The `#[target_feature]` attribute can only be applied to unsafe functions. It was decided in the RFC that invoking an instruction possibly not defined for the current processor is undefined behavior, so to enable this feature for now it requires an `unsafe` intervention. [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/2045-target-feature.md
2018-01-14Auto merge of #46832 - Diggsey:bufread-cheaper-seek, r=alexcrichtonbors-0/+46
BufRead: Only flush the internal buffer if seeking outside of it. Fixes #31100 r? @dtolnay
2018-01-13rustc: Refactor attribute checking to operate on HIRAlex Crichton-44/+56
This'll enable running queries that could be cached and overall be more amenable to the query infastructure.
2018-01-13Auto merge of #47416 - petrochenkov:remove-impl-for-dot-dot, r=petrochenkovbors-804/+193
Remove `impl Foo for .. {}` in favor `auto trait Foo {}` Rebase of https://github.com/rust-lang/rust/pull/46480 with restored parsing support.
2018-01-13Add note to documentationDiggory Blake-0/+4
2018-01-13Implement "seek_relative"Diggory Blake-0/+42
2018-01-13rustc: Tweak `#[target_feature]` syntaxAlex Crichton-27/+216
This is an implementation of the `#[target_feature]` syntax-related changes of [RFC 2045][rfc]. Notably two changes have been implemented: * The new syntax is `#[target_feature(enable = "..")]` instead of `#[target_feature = "+.."]`. The `enable` key is necessary instead of the `+` to indicate that a feature is being enabled, and a sub-list is used for possible expansion in the future. Additionally within this syntax the feature names being enabled are now whitelisted against a known set of target feature names that we know about. * The `#[target_feature]` attribute can only be applied to unsafe functions. It was decided in the RFC that invoking an instruction possibly not defined for the current processor is undefined behavior, so to enable this feature for now it requires an `unsafe` intervention. [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/2045-target-feature.md
2018-01-13Re-add support for `impl Trait for ..` to the parserVadim Petrochenkov-2/+40
2018-01-13Address review.leonardo.yvens-75/+16
2018-01-13Parse `auto trait` inside fns.leonardo.yvens-13/+20
Also refactored parsing auto traits.
2018-01-13Fix rustdocleonardo.yvens-2/+0
2018-01-13Move coherence/overlap.rs into coherence/mod.rsleonardo.yvens-60/+45
`fn check_impl` was feeling lonely with a file all for itself.
2018-01-13Remove wfcheck for auto traits, remove dead error codesleonardo.yvens-111/+23
The WF checks are now done as an AST validation.
2018-01-13Adjust tests for removal of `impl Foo for .. {}`leonardo.yvens-168/+29
2018-01-13Remove `impl Foo for ..` in favor of `auto trait Foo`leonardo.yvens-447/+94
No longer parse it. Remove AutoTrait variant from AST and HIR. Remove backwards compatibility lint. Remove coherence checks, they make no sense for the new syntax. Remove from rustdoc.
2018-01-13Auto merge of #47251 - rkruppe:rm-simd-attr, r=eddybbors-481/+413
Remove deprecated unstable attribute #[simd] The `#[simd]` attribute has been deprecated since c8b6d5b23cc8b2d43ece9f06252c7e98280fb8e5 back in 2015. Any nightly crates using it have had ample time to switch to `#[repr(simd)]`, and if they didn't they're likely broken by now anyway. r? @eddyb
2018-01-13Auto merge of #47242 - estebank:issue-15980, r=petrochenkovbors-15/+102
`struct` pattern parsing and diagnostic tweaks - Recover from struct parse error on match and point out missing match body. - Point at struct when finding non-identifier while parsing its fields. - Add label to "expected identifier, found {}" error. Fix #15980.
2018-01-13Auto merge of #47181 - michaelwoerister:var-len-def-index, r=eddybbors-65/+64
Use DefIndex encoding that works better with on-disk variable length integer representations. Use the least instead of the most significant bit for representing the address space. r? @eddyb
2018-01-13Auto merge of #46592 - o01eg:fix-45345, r=alexcrichtonbors-16/+24
Fix 45345 There is a fix for https://github.com/rust-lang/rust/issues/45345 It re-introduces `CFG_LIBDIR_RELATIVE` which was broken when migration from `configure` script to `x.py`. Other commits fix errors which happen after rustbuild cleanups.
2018-01-13Auto merge of #46461 - zackmdavis:elemental_method_suggestion_jamboree, ↵bors-65/+147
r=estebank type error method suggestions use whitelisted identity-like conversions ![method_jamboree_summit](https://user-images.githubusercontent.com/1076988/33523646-e5c43184-d7c0-11e7-98e5-1bff426ade86.png) Previously, on a type mismatch (and if this wasn't preëmpted by a higher-priority suggestion), we would look for argumentless methods returning the expected type, and list them in a `help` note. This had two major shortcomings: firstly, a lot of the suggestions didn't really make sense (if you used a &str where a String was expected, `.to_ascii_uppercase()` is probably not the solution you were hoping for). Secondly, we weren't generating suggestions from the most useful traits! We address the first problem with an internal `#[rustc_conversion_suggestion]` attribute meant to mark methods that keep the "same value" in the relevant sense, just converting the type. We address the second problem by making `FnCtxt.probe_for_return_type` pass the `ProbeScope::AllTraits` to `probe_op`: this would seem to be safe because grep reveals no other callers of `probe_for_return_type`. Also, structured suggestions are pretty and good for RLS and friends. Unfortunately, the trait probing is still not all one would hope for: at a minimum, we don't know how to rule out `into()` in cases where it wouldn't actually work, and we don't know how to rule in `.to_owned()` where it would. Issues #46459 and #46460 have been filed and are ref'd in a FIXME. This is hoped to resolve #42929, #44672, and #45777.
2018-01-13Rollup merge of #47382 - topecongiro:issue-43105, r=eddybkennytm-1/+23
Ignore CTFE errors while lowering patterns Closes #43105. r? @eddyb
2018-01-13Rollup merge of #47375 - overvenus:duration-examples, r=dtolnaykennytm-2/+2
Fix examples of Duration::subsec_millis and Duration::subsec_micros Update examples of `Duration::subsec_millis` and `Duration::subsec_micros`, because they are not for these two methods actually.
2018-01-13Rollup merge of #47365 - Diggsey:issue-42630, r=alexcrichtonkennytm-1/+0
Re-enable num tests on wasm Issue #42630 was closed but the tests are still ignored, supposedly they should pass now.
2018-01-13Rollup merge of #47357 - whentze:osstr-doc-fix, r=GuillaumeGomezkennytm-2/+5
Fix docs for OsStr At present, there are two small issues with the [docs](https://doc.rust-lang.org/std/ffi/struct.OsStr.html) for std::ffi::OsStr: - The docs say "OsStr is to OsString as String is to &str: the former in each pair are borrowed references; the latter are owned strings.". The latter pair is mixed up: String is the owned variant whereas &str is the borrowed reference. - The doc links to String and &str are broken and render as [String] and [&str]. This PR fixes these issues.
2018-01-13Rollup merge of #47352 - EdSchouten:cloudabi-libtest, r=kennytmkennytm-8/+9
Make libtest build on CloudABI. Just like on UNIX systems, we need to use sysconf() to obtain the number of CPUs. Extend the existing cfg()'s to match CloudABI as well.
2018-01-13Rollup merge of #47344 - topecongiro:fixed-ices, r=alexcrichtonkennytm-0/+110
Add tests to fixed issues. Closes #36792. Closes #38091. Closes #39687. Closes #42148. Closes #42956.
2018-01-13Rollup merge of #47343 - goffrie:master, r=jseyfriedkennytm-6/+24
Glued tokens can themselves be joint. When gluing two tokens, the second of which is joint, the result should also be joint. This fixes an issue with joining three `Dot` tokens to make a `DotDotDot` - the intermediate `DotDot` would not be joint and therefore we would not attempt to glue the last `Dot` token, yielding `.. .` instead of `...`. r? @jseyfried
2018-01-13Rollup merge of #47340 - alercah:typo-fix, r=GuillaumeGomezkennytm-1/+1
Fix typo.
2018-01-13Rollup merge of #47331 - michaelwoerister:measure-depgraph-loading, ↵kennytm-4/+5
r=alexcrichton Add -Ztime-passes line for dep-graph loading. We measure how much time the background thread spends on loading the dep-graph but not how long the main thread is blocked while the background thread is still working. Let's change that!
2018-01-13Rollup merge of #47328 - mbrubeck:fs_read, r=sfacklerkennytm-64/+42
Use the new fs_read_write functions in rustc internals Uses `fs::read` and `fs::write` (added by #45837) where appropriate, to simplify code and dog-food these new APIs. This also improves performance, when combined with #47324.
2018-01-13Rollup merge of #47324 - mbrubeck:len, r=sfacklerkennytm-2/+10
Pre-allocate in fs::read and fs::read_string This is a simpler alternative to #46340 and #45928, as requested by the libs team.
2018-01-13Rollup merge of #47310 - bmusin:patch-1, r=sfacklerkennytm-1/+1
fix typo rwlock.rs Hi. Fixed typo: contained -> content
2018-01-13Rollup merge of #47307 - dlrobertson:fix_panic_strings, r=kennytmkennytm-1/+1
Fix panic strings. - Fix panic string in `check_ast_crate`. - Update panic string for Duration subtraction on overflow/underflow. Not sure if the changes to `Duration` are helpful/needed. Mostly just a nit. Otherwise this is just a one character change :) On another note: I hit the panic in `check_ast_crate` when compiling [m-labs/smoltcp] with the following: ``` cargo test --doc --no-default-features --features "std socket-raw"` ``` [m-labs/smoltcp]: https://github.com/m-labs/smoltcp
2018-01-13Rollup merge of #47306 - alexreg:dataflow-analysis, r=eddybkennytm-23/+41
Don't track local_needs_drop separately in qualify_consts. None
2018-01-13Rollup merge of #47305 - cramertj:better-calendar-alone, r=eddybkennytm-47/+14
Use copy/clone closures to simplify calendar test Split out from #47304 r? @eddyb
2018-01-13Rollup merge of #47298 - cramertj:path-as-modrs, r=nikomatsakiskennytm-30/+9
Treat #[path] files as mod.rs files Fixes https://github.com/rust-lang/rust/issues/46936, cc @briansmith, @SergioBenitez, @nikomatsakis. This (insta-stable) change treats files included via `#[path = "bla.rs"] mod foo;` as though they were `mod.rs` files. Namely, it allows them to include `mod` statements and looks for the child modules in sibling directories, rather than in relative `modname/childmodule.rs` files as happens for non-`mod.rs` files. This change makes the `non_modrs_mods` feature backwards compatible with the existing usage in https://github.com/briansmith/ring, several versions of which are currently broken in beta. If we decide to merge, this change should be backported to beta. cc https://github.com/rust-lang/rust/issues/37872 r? @jseyfried
2018-01-13Rollup merge of #47289 - etaoins:skip-linker-output-non-utf8-test-on-apple, ↵kennytm-4/+12
r=kennytm Skip linker-output-non-utf8 test on Apple This test fails on APFS filesystems with the following error: ```shell mkdir: /Users/ryan/Code/rust/build/x86_64-apple-darwin/test/run-make/linker-output-non-utf8.stage2-x86_64-apple-darwin/zzz�: Illegal byte sequence ``` The mkdir does succeed on an HFS+ volume mounted on the same system: ```shell $ mkdir zzz$$'\xff' $ ls zzz47432\xff ``` This is due to APFS now requiring that all paths are valid UTF-8. As APFS will be the default filesystem for all new Darwin-based systems the most straightforward fix is to skip this test on Darwin as well as Windows.
2018-01-13Rollup merge of #47288 - cuviper:jobserver-pipe2, r=alexcrichtonkennytm-5/+5
Update jobserver to 0.1.9 Fix for `ENOSYS` when calling `pipe2`, alexcrichton/jobserver-rs#5. r? @alexcrichton
2018-01-13Rollup merge of #47283 - malbarbo:musl-1.1.18, r=alexcrichtonkennytm-1/+1
Update musl to 1.1.18 According to http://www.musl-libc.org/download.html: This release corrects regressions in glob() and armv4t build failure introduced in the previous release, and includes an important bug fix for posix_spawnp in the presence of a large PATH environment variable.
2018-01-13Rollup merge of #47282 - malbarbo:i586-musl, r=alexcrichtonkennytm-10/+40
Add i586-unknown-linux-musl target
2018-01-13Rollup merge of #47185 - ritiek:ui-test-failed-output, r=nikomatsakiskennytm-9/+106
Show only stderr diff when a ui test fails Addresses #46826. This PR will print the normalized output if expected text is empty otherwise it will just print the diff. Should we also show a few (actual == expected) lines above & below when displaying the diff? What about indicating line numbers as well so one can quickly check mismatch lines in .stderr file?
2018-01-13Rollup merge of #47081 - pietroalbini:fix-nested-tree-dump, r=nrckennytm-1/+7
Fix nested imports not included in the save_analysis output This PR fixes #46823. The bug was caused by the old access level checking code, which checked against the root UseTree even for nested trees. The problem with that is, for nested trees the root is lowered as an empty `ListStem`, which is not reachable by definition. The new code computes the access level with each tree's own ID, and with the root tree's visibility. I tested this manually and it works, but I'm not really satisfied with that. I looked at the existing tests though, and no one checked for the save_analysis output as far as I can see. How should I proceed with that? I think having a test about this would be really nice.
2018-01-13Rollup merge of #47069 - Kagamihime:master, r=nrckennytm-11/+24
rustfmt libarena/lib.rs Note: it's my very first pull request. I'm trying to do something very simple to see how it works here, even if it's a tiny change or maybe it's not correct (sorry if it is the case). r? @nrc
2018-01-13Rollup merge of #46985 - Diggsey:path-component-asref, r=alexcrichtonkennytm-0/+7
Implement AsRef<Path> for Component Fixes #41866
2018-01-13Use delay_span_bug() over debug!()Seiichi Uchida-1/+2
2018-01-12Ignore CTFE errors while lowering patternsSeiichi Uchida-1/+22
Closes #43105.