Skip to content
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 24 pull requests #37597

Merged
merged 67 commits into from
Nov 6, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
f89ba5d
Fix some mistakes in HRTB docs
mbrubeck Oct 18, 2016
e47da0c
Add release notes for 1.12.1
brson Oct 21, 2016
20c3013
rustc: Add knowledge of Windows subsystems.
alexcrichton Oct 31, 2016
9253e12
adapt debuginfo tests for gdb with native rust support
TimNN Oct 25, 2016
6554fb0
add gdb_native_rust config to compiletest
TimNN Oct 29, 2016
dce4600
detect gdb version & rust support in compiletest
TimNN Oct 29, 2016
5cb5c85
rustbuild+configure: improve bin/exe joining
TimNN Oct 31, 2016
f7107f3
rustbuild+configure: convert unix style paths on windows
TimNN Oct 31, 2016
6a8d131
rustc: make all read access to tcx.tables go through a method.
eddyb Oct 27, 2016
0d7201e
rustc: record the target type of every adjustment.
eddyb Oct 20, 2016
942f909
Add missing urls for ErrorKind's variants
GuillaumeGomez Nov 2, 2016
50ecee2
Add feature gate for Self and associated types in struct expressions …
petrochenkov Sep 14, 2016
a270b80
rustbuild: Rewrite user-facing interface
alexcrichton Oct 21, 2016
7d06bdd
set frame pointer elimination attribute for main
dinfuehr Nov 3, 2016
dc138b3
use DefId's in const eval for cross-crate const fn's
TimNN Nov 3, 2016
ed0230e
Peekable::peek(): Use Option::as_ref()
mglagla Nov 3, 2016
d5f72d2
Fix ICE when querying DefId on Def::Err.
Mark-Simulacrum Nov 3, 2016
6a34feb
Set RUSTC_BOOTSTRAP to some value.
brson Nov 3, 2016
5f280a5
Clean up `parser.parse_token_tree()`.
jseyfried Nov 3, 2016
eb3ac29
Reduce the size of `Token` and make it cheaper to clone by refactoring
jseyfried Nov 2, 2016
3b71646
Revert "macros: Improve `tt` fragments"
jseyfried Nov 2, 2016
6e9bf12
Reimplement "macros: Improve `tt` fragments" with better performance.
jseyfried Nov 3, 2016
b60bcba
Make `ast::ExprKind` smaller.
jseyfried Nov 3, 2016
e2b3fec
Avoid recontructing the `Parser` in `macro_parser.rs`.
jseyfried Nov 3, 2016
7ae0833
Move doc comment desugaring into the parser.
jseyfried Nov 3, 2016
1e40c80
Fix issues with the Add/AddAssign impls for Cow<str>
ollie27 Nov 4, 2016
23ad6fd
Improve `tt`-heavy expansion performance.
jseyfried Nov 3, 2016
b7eed53
Remove field `TtReader::next_tok`.
jseyfried Nov 3, 2016
9366ba3
Reorder `hir::Expr` fields.
nnethercote Nov 3, 2016
43452a3
Shrink `Expr_::ExprStruct`.
nnethercote Nov 4, 2016
51104e5
Fix fallout in tests.
jseyfried Nov 4, 2016
a5f6aa1
reference full path `DefaultHasher`
liigo Nov 4, 2016
94e655e
Add -Zhir-stats for collecting statistics on HIR and AST
michaelwoerister Nov 4, 2016
3e4bd88
Change Into<Vec<u8>> for String and Into<OsString> for PathBuf to Fro…
leoyvens Nov 4, 2016
a6cf777
fix #37559: update compiler-rt
TimNN Nov 4, 2016
775d399
Remove recursive call from Cow::to_mut
ollie27 Nov 4, 2016
fe953dc
std: Track change to cprng syscall signature (Fuchsia)
raphlinus Nov 4, 2016
ecd79a1
Add error when proc_macro_derive is used not on functions
est31 Nov 4, 2016
c0bc35a
Rollup merge of #37255 - mbrubeck:doc-edit, r=steveklabnik
alexcrichton Nov 4, 2016
0f6a71e
Rollup merge of #37317 - brson:relnotes, r=brson
alexcrichton Nov 4, 2016
1a09632
Rollup merge of #37408 - eddyb:lazy-5, r=nikomatsakis
alexcrichton Nov 4, 2016
d2cb515
ignore gdb check for android
TimNN Nov 5, 2016
041f890
Rollup merge of #37422 - bluss:wrapping-offset, r=alexcrichton
alexcrichton Nov 4, 2016
1ff3dfd
Rollup merge of #37427 - nnethercote:opt-IchHasher, r=michaelwoerister
alexcrichton Nov 4, 2016
1d41d5b
Rollup merge of #37470 - arthurprs:sip-smaller, r=alexcrichton
alexcrichton Nov 4, 2016
8a38b24
Rollup merge of #37501 - alexcrichton:windows-subsystem, r=brson
alexcrichton Nov 4, 2016
112a4ff
Rollup merge of #37537 - GuillaumeGomez:error_kind_doc, r=steveklabnik
alexcrichton Nov 4, 2016
ee90485
Rollup merge of #37556 - dinfuehr:main_frame_pointer, r=eddyb
alexcrichton Nov 4, 2016
b4aee37
Rollup merge of #37557 - TimNN:fix-36954, r=eddyb
alexcrichton Nov 4, 2016
7c7bc2c
Rollup merge of #37564 - Mark-Simulacrum:sized-ice, r=eddyb
alexcrichton Nov 4, 2016
b9f18bf
Rollup merge of #37565 - mglagla:peek_use_as_ref, r=alexcrichton
alexcrichton Nov 4, 2016
9f882b9
Rollup merge of #37566 - brson:env, r=alexcrichton
alexcrichton Nov 4, 2016
b9cbbe1
Rollup merge of #37569 - jseyfried:improve_expansion_perf, r=eddyb
alexcrichton Nov 4, 2016
638436e
Rollup merge of #37574 - ollie27:cow_add, r=alexcrichton
alexcrichton Nov 4, 2016
07cf4b4
Rollup merge of #37577 - nnethercote:shrink-Expr-slightly, r=eddyb
alexcrichton Nov 4, 2016
50def8e
Rollup merge of #37579 - liigo:defaulthasher, r=alexcrichton
alexcrichton Nov 4, 2016
0670d4b
Rollup merge of #37583 - michaelwoerister:hir-stats, r=alexcrichton
alexcrichton Nov 4, 2016
727f1d3
Rollup merge of #37585 - leodasvacas:change_into_to_from, r=alexcrichton
alexcrichton Nov 4, 2016
78f1864
Rollup merge of #37586 - TimNN:fix-37559, r=alexcrichton
alexcrichton Nov 4, 2016
5bce6ad
Rollup merge of #37587 - ollie27:to_mut, r=alexcrichton
alexcrichton Nov 4, 2016
8e5c91a
Rollup merge of #37589 - raphlinus:fuchsia_random, r=alexcrichton
alexcrichton Nov 4, 2016
9847bd3
Rollup merge of #37596 - est31:master, r=alexcrichton
alexcrichton Nov 4, 2016
0eff43f
Merge branch 'new-rustbuild' into rollup
alexcrichton Nov 4, 2016
e126f3c
Merge branch 'selfgate' of https://github.com/petrochenkov/rust into …
alexcrichton Nov 4, 2016
11251e5
Fix tests from the rollup
alexcrichton Nov 5, 2016
18ee04b
Merge branch 'gdb-next-gen' of https://github.com/TimNN/rust into rollup
alexcrichton Nov 5, 2016
bdacb63
Only test docs and such for the host
alexcrichton Nov 5, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ ones from MSYS if you have it installed). You'll also need Visual Studio 2013 or
newer with the C++ tools. Then all you need to do is to kick off rustbuild.

```
python .\src\bootstrap\bootstrap.py
python x.py build
```

Currently rustbuild only works with some known versions of Visual Studio. If you
Expand All @@ -137,7 +137,7 @@ by manually calling the appropriate vcvars file before running the bootstrap.

```
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
python .\src\bootstrap\bootstrap.py
python x.py build
```

## Building Documentation
Expand Down
27 changes: 27 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
Version 1.12.1 (2016-10-20)
===========================

Regression Fixes
----------------

* [ICE: 'rustc' panicked at 'assertion failed: concrete_substs.is_normalized_for_trans()' #36381][36381]
* [Confusion with double negation and booleans][36856]
* [rustc 1.12.0 fails with SIGSEGV in release mode (syn crate 0.8.0)][36875]
* [Rustc 1.12.0 Windows build of `ethcore` crate fails with LLVM error][36924]
* [1.12.0: High memory usage when linking in release mode with debug info][36926]
* [Corrupted memory after updated to 1.12][36936]
* ["Let NullaryConstructor = something;" causes internal compiler error: "tried to overwrite interned AdtDef"][37026]
* [Fix ICE: inject bitcast if types mismatch for invokes/calls/stores][37112]
* [debuginfo: Handle spread_arg case in MIR-trans in a more stable way.][37153]

[36381]: https://github.com/rust-lang/rust/issues/36381
[36856]: https://github.com/rust-lang/rust/issues/36856
[36875]: https://github.com/rust-lang/rust/issues/36875
[36924]: https://github.com/rust-lang/rust/issues/36924
[36926]: https://github.com/rust-lang/rust/issues/36926
[36936]: https://github.com/rust-lang/rust/issues/36936
[37026]: https://github.com/rust-lang/rust/issues/37026
[37112]: https://github.com/rust-lang/rust/issues/37112
[37153]: https://github.com/rust-lang/rust/issues/37153


Version 1.12.0 (2016-09-29)
===========================

Expand Down
7 changes: 0 additions & 7 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -868,13 +868,6 @@ then
fi
fi

if [ -n "$CFG_GDB" ]
then
# Store GDB's version
CFG_GDB_VERSION=$($CFG_GDB --version 2>/dev/null | head -1)
putvar CFG_GDB_VERSION
fi

if [ -n "$CFG_LLDB" ]
then
# Store LLDB's version
Expand Down
2 changes: 1 addition & 1 deletion mk/main.mk
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ CFG_INFO := $(info cfg: disabling unstable features (CFG_DISABLE_UNSTABLE_FEATUR
# Turn on feature-staging
export CFG_DISABLE_UNSTABLE_FEATURES
# Subvert unstable feature lints to do the self-build
export RUSTC_BOOTSTRAP
export RUSTC_BOOTSTRAP=1
endif
ifdef CFG_MUSL_ROOT
export CFG_MUSL_ROOT
Expand Down
2 changes: 1 addition & 1 deletion mk/tests.mk
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,7 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) = \
--host $(3) \
--docck-python $$(CFG_PYTHON) \
--lldb-python $$(CFG_LLDB_PYTHON) \
--gdb-version="$(CFG_GDB_VERSION)" \
--gdb="$(CFG_GDB)" \
--lldb-version="$(CFG_LLDB_VERSION)" \
--llvm-version="$$(LLVM_VERSION_$(3))" \
--android-cross-path=$(CFG_ARM_LINUX_ANDROIDEABI_NDK) \
Expand Down
20 changes: 7 additions & 13 deletions src/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/bootstrap/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ num_cpus = "0.2"
toml = "0.1"
getopts = "0.2"
rustc-serialize = "0.3"
gcc = { git = "https://github.com/alexcrichton/gcc-rs" }
gcc = "0.3.36"
libc = "0.2"
md5 = "0.1"

Expand Down
70 changes: 59 additions & 11 deletions src/bootstrap/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,72 @@ system.

## Using rustbuild

When configuring Rust via `./configure`, pass the following to enable building
via this build system:
The rustbuild build system has a primary entry point, a top level `x.py` script:

```
./configure --enable-rustbuild
make
python ./x.py build
```

Afterwards the `Makefile` which is generated will have a few commands like
`make check`, `make tidy`, etc. For finer-grained control, the
`bootstrap.py` entry point can be used:
Note that if you're on Unix you should be able to execute the script directly:

```
python src/bootstrap/bootstrap.py
./x.py build
```

This accepts a number of options like `--stage` and `--step` which can configure
what's actually being done.
The script accepts commands, flags, and filters to determine what to do:

* `build` - a general purpose command for compiling code. Alone `build` will
bootstrap the entire compiler, and otherwise arguments passed indicate what to
build. For example:

```
# build the whole compiler
./x.py build

# build the stage1 compier
./x.py build --stage 1

# build stage0 libstd
./x.py build --stage 0 src/libstd

# build a particular crate in stage0
./x.py build --stage 0 src/libtest
```

* `test` - a command for executing unit tests. Like the `build` command this
will execute the entire test suite by default, and otherwise it can be used to
select which test suite is run:

```
# run all unit tests
./x.py test

# execute the run-pass test suite
./x.py test src/test/run-pass

# execute only some tests in the run-pass test suite
./x.py test src/test/run-pass --filter my-filter

# execute tests in the standard library in stage0
./x.py test --stage 0 src/libstd

# execute all doc tests
./x.py test src/doc
```

* `doc` - a command for building documentation. Like above can take arguments
for what to document.

If you're more used to `./configure` and `make`, however, then you can also
configure the build system to use rustbuild instead of the old makefiles:

```
./configure --enable-rustbuild
make
```

Afterwards the `Makefile` which is generated will have a few commands like
`make check`, `make tidy`, etc.

## Configuring rustbuild

Expand All @@ -47,7 +95,7 @@ being invoked manually (via the python script).
The rustbuild build system goes through a few phases to actually build the
compiler. What actually happens when you invoke rustbuild is:

1. The entry point script, `src/bootstrap/bootstrap.py` is run. This script is
1. The entry point script, `x.py` is run. This script is
responsible for downloading the stage0 compiler/Cargo binaries, and it then
compiles the build system itself (this folder). Finally, it then invokes the
actual `bootstrap` binary build system.
Expand Down
6 changes: 2 additions & 4 deletions src/bootstrap/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -399,12 +399,10 @@ def main():

# Run the bootstrap
args = [os.path.join(rb.build_dir, "bootstrap/debug/bootstrap")]
args.append('--src')
args.append(rb.rust_root)
args.append('--build')
args.append(rb.build)
args.extend(sys.argv[1:])
env = os.environ.copy()
env["BUILD"] = rb.build
env["SRC"] = rb.rust_root
env["BOOTSTRAP_PARENT_ID"] = str(os.getpid())
rb.run(args, env)

Expand Down
Loading