summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2017-01-19Merge pull request #39189 from brson/beta-next 1.15.0Alex Crichton-7/+38
Beta next
2017-01-19Bump prerelease versionBrian Anderson-1/+1
2017-01-19mk: Fix compile with makefilesAlex Crichton-5/+10
A tweak was made to dependencies in #38451 but the makefiles weren't updated to accompany this. Instead of trying to integerate the `build_helper` crate into the makefiles (which currently isn't present) this commit takes the approach of just duplicating the required logic, which should be small enough for now.
2017-01-19OpenBSD has two stdc++ libraries: use the newerSébastien Marie-2/+9
stdc++ is from base, and is an old library (GCC 4.2) estdc++ is from ports, and is a recent library (GCC 4.9 currently) as LLVM requires the newer version, use it if under OpenBSD.
2017-01-19let BSD to use gmake for GNU-makeSébastien Marie-4/+20
the diff extends build_helper to provide an function to return the expected name of GNU-make on the host: "make" or "gmake". Fixes #38429
2017-01-19disable run-pass/backtrace for openbsdSébastien Marie-0/+1
the backtrace test doesn't work on openbsd as it doesn't have support for libbacktrace without using filename.
2017-01-19Disconnect ar from cc on OpenBSDSébastien Marie-0/+2
OpenBSD usually use an alternative compiler (`egcc') from ports. But the `ar' is unprefixed as it comes from base.
2017-01-18Merge pull request #39170 from brson/beta-nextAlex Crichton-4/+26
Beta next
2017-01-19Bump prerelease versionBrian Anderson-1/+1
2017-01-19tolerate `None` return from `get_line`Niko Matsakis-1/+1
2017-01-19more complete error messageNiko Matsakis-1/+1
2017-01-19only consider value items when searching for methods, not typesNiko Matsakis-2/+24
2017-01-17Merge pull request #39141 from jseyfried/unbreak_betaBrian Anderson-1/+2
Unbreak beta
2017-01-17Unbreak beta.Jeffrey Seyfried-1/+2
2017-01-17Merge pull request #39140 from brson/beta-nextAlex Crichton-21/+521
Beta next
2017-01-17rustbuild: Don't enable debuginfo in rustcAlex Crichton-4/+25
In #37280 we enabled line number debugging information in release artifacts, primarily to close out #36452 where debugging information was critical for MSVC builds of Rust to be useful in production. This commit, however, apparently had some unfortunate side effects. Namely it was noticed in #37477 that if `RUST_BACKTRACE=1` was set then any compiler error would take a very long time for the compiler to exit. The cause of the problem here was somewhat deep: * For all compiler errors, the compiler will `panic!` with a known value. This tears down the main compiler thread and allows cleaning up all the various resources. By default, however, this panic output is suppressed for "normal" compiler errors. * When `RUST_BACKTRACE=1` was set this caused every compiler error to generate a backtrace. * The libbacktrace library hits a pathological case where it spends a very long time in its custom allocation function, `backtrace_alloc`, because the compiler has so much debugging information. More information about this can be found in #29293 with a summary at the end of #37477. To solve this problem this commit simply removes debuginfo from the compiler but not from the standard library. This should allow us to keep #36452 closed while also closing #37477. I've measured the difference to be orders of magnitude faster than it was before, so we should see a much quicker time-to-exit after a compile error when `RUST_BACKTRACE=1` is set. Closes #37477 Closes #37571
2017-01-17fix function arguments in constant promotionAriel Ben-Yehuda-13/+22
we can't create the target block until *after* we promote the arguments - otherwise the arguments will be promoted into the target block. oops. Fixes #38985.
2017-01-17Improve the warning cycle for `use $crate;`.Jeffrey Seyfried-4/+14
2017-01-171.15 release notesBrian Anderson-0/+241
2017-01-17Auto merge of #38427 - brson:relnotes, r=alexcrichtonbors-0/+219
1.14 release notes [Rendered](https://github.com/brson/rust/blob/relnotes/RELEASES.md). Is there anything I'm missing? Were there any library stabilizations? The most interesting thing this time seems to be rustup, then compile time opts, `..` matches, cargo exposing `cfg` values to build scripts. This release also has wasm support, but it's pretty rough. Might be worth hyping up all the same. ARM MUSL targets. There are a large number of compatibility notes. Might be worth talking about that. Relevant prlo links: goo.gl/PGz2Ds, goo.gl/KV23Qv, goo.gl/g7ku6D.
2017-01-11Merge pull request #39008 from cuviper/beta-blake-endianAlex Crichton-6/+10
Backport #38960 to beta
2017-01-11Use little-endian encoding for Blake2 hashing on all architecturesAriel Ben-Yehuda-6/+10
Like many hash functions, the blake2 hash is mathematically defined on a sequence of 64-bit words. As Rust's hash interface operates on sequences of octets, some encoding must be used to bridge that difference. The Blake2 RFC (RFC 7693) specifies that: Byte (octet) streams are interpreted as words in little-endian order, with the least-significant byte first. So use that encoding consistently. Fixes #38891.
2017-01-07Bump beta to .3Alex Crichton-1/+1
2017-01-07Merge pull request #38884 from nikomatsakis/beta-unmergedAlex Crichton-40/+264
More beta backports
2017-01-06Merge pull request #38893 from jseyfried/backport_unused_qualification_lintNiko Matsakis-5/+6
Backport "don't `unused_qualifications`-check global paths"
2017-01-06Don't `unused_qualifications`-check global paths.Jeffrey Seyfried-5/+6
2017-01-06Merge pull request #38872 from nikomatsakis/betaAlex Crichton-241/+883
Beta backports
2017-01-06Add regression test.Jeffrey Seyfried-0/+43
2017-01-06Fold all spans in the AST.Jeffrey Seyfried-7/+7
2017-01-06Fix tidy warningJonathan Turner-0/+10
2017-01-06Add in test for E0090Jonathan Turner-0/+5
2017-01-06Add back in previous logic and remove span shrinkingJonathan Turner-1/+8
2017-01-06rebase backport of #38855 onto betaNiko Matsakis-1/+1
2017-01-06Fix ICE on i686 when calling immediate() on OperandValue::Ref in returnMark Simulacrum-1/+26
2017-01-06fix help for the --print optionDoug Goldstein-1/+2
Since 8285ab5c99, which was merged in with #38061, the help for the --print option is missing the surrounding [ ] around the possible options. Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2017-01-06std: Don't pass overlapped handles to processesAlex Crichton-29/+153
This commit fixes a mistake introduced in #31618 where overlapped handles were leaked to child processes on Windows. On Windows once a handle is in overlapped mode it should always have I/O executed with an instance of `OVERLAPPED`. Most child processes, however, are not prepared to have their stdio handles in overlapped mode as they don't use `OVERLAPPED` on reads/writes to the handle. Now we haven't had any odd behavior in Rust up to this point, and the original bug was introduced almost a year ago. I believe this is because it turns out that if you *don't* pass an `OVERLAPPED` then the system will [supply one for you][link]. In this case everything will go awry if you concurrently operate on the handle. In Rust, however, the stdio handles are always locked, and there's no way to not use them unlocked in libstd. Due to that change we've always had synchronized access to these handles, which means that Rust programs typically "just work". Conversely, though, this commit fixes the test case included, which exhibits behavior that other programs Rust spawns may attempt to execute. Namely, the stdio handles may be concurrently used and having them in overlapped mode wreaks havoc. [link]: https://blogs.msdn.microsoft.com/oldnewthing/20121012-00/?p=6343 Closes #38811
2017-01-06rustbuild: Stop building docs for std dependanciesOliver Middleton-1/+10
2017-01-06Document custom derive.Steve Klabnik-12/+258
These are some bare-bones documentation for custom derive, needed to stabilize "macros 1.1", https://github.com/rust-lang/rust/issues/35900 The book chapter is based off of a blog post by @cbreeden, https://cbreeden.github.io/Macros11/ Normally, we have a policy of not mentioning external crates in documentation. However, given that syn/quote are basically neccesary for properly using macros 1.1, I feel that not including them here would make the documentation very bad. So the rules should be bent in this instance.
2017-01-06rustc: Stabilize the `proc_macro` featureAlex Crichton-188/+13
This commit stabilizes the `proc_macro` and `proc_macro_lib` features in the compiler to stabilize the "Macros 1.1" feature of the language. Many more details can be found on the tracking issue, #35900. Closes #35900
2017-01-06rustbuild: Fix source tarballs and the vendor dirAlex Crichton-0/+7
The source tarball creation step would attempt to skip a number of files that we want to ignore ourselves, but once we've hit the vendor directory we don't want to skip anything so be sure to vendor everything inside that directory. Closes #38690
2017-01-06Fix mistake.Without Boats-1/+1
2017-01-06Add test.Without Boats-0/+16
2017-01-06Improve error message.Without Boats-1/+1
2017-01-06Prevent where < ident > from parsing.Without Boats-0/+17
In order to be forward compatible with `where<'a>` syntax for higher rank parameters, prevent potential conflicts with UFCS from parsing correctly for the near term.
2017-01-06Revert "Update for changes to TraitItem on master."Niko Matsakis-3/+3
This reverts commit 1d23be75b95b1dad318020fcf110836a7f17fc80.
2017-01-06Fix rustdoc ICE.Jeffrey Seyfried-0/+58
2017-01-06Update for changes to TraitItem on master.Eduard-Mihai Burtescu-3/+3
2017-01-06Don't leak the compiler's internal representation of scopes in error messages.Eduard-Mihai Burtescu-15/+99
2017-01-06rebase: remove `tcx` from `associated_item`Niko Matsakis-8/+6
2017-01-06Regression test and exploratory unit test.Felix S. Klock II-0/+249