Skip to content

Commit b84718c

Browse files
committed
---
yaml --- r: 274310 b: refs/heads/stable c: 5a14f37 h: refs/heads/master
1 parent 6ba1cf3 commit b84718c

File tree

761 files changed

+17496
-25540
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

761 files changed

+17496
-25540
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: c0221c8897db309a79990367476177b1230bb264
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: b2f4c5c596524ceb7b7dcbf6e87105c81a2fa7ac
32+
refs/heads/stable: 5a14f3791db8b87a5e292a72dc1086cb0e72e93b
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ labels to triage issues:
174174
* Yellow, **A**-prefixed labels state which **area** of the project an issue
175175
relates to.
176176

177-
* Magenta, **B**-prefixed labels identify bugs which are **blockers**.
177+
* Magenta, **B**-prefixed labels identify bugs which **belong** elsewhere.
178178

179179
* Green, **E**-prefixed labels explain the level of **experience** necessary
180180
to fix the issue.

branches/stable/COPYRIGHT

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ terms.
66

77
Longer version:
88

9-
The Rust Project is copyright 2016, The Rust Project
10-
Developers.
9+
The Rust Project is copyright 2015, The Rust Project
10+
Developers (given in the file AUTHORS.txt).
1111

1212
Licensed under the Apache License, Version 2.0
1313
<LICENSE-APACHE or

branches/stable/LICENSE-MIT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2016 The Rust Project Developers
1+
Copyright (c) 2015 The Rust Project Developers
22

33
Permission is hereby granted, free of charge, to any
44
person obtaining a copy of this software and associated

branches/stable/Makefile.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,19 @@ endif
220220
# The test suite
221221
ifneq ($(strip $(findstring check,$(MAKECMDGOALS)) \
222222
$(findstring test,$(MAKECMDGOALS)) \
223+
$(findstring perf,$(MAKECMDGOALS)) \
223224
$(findstring tidy,$(MAKECMDGOALS))),)
224225
CFG_INFO := $(info cfg: including test rules)
225226
include $(CFG_SRC_DIR)mk/tests.mk
226227
include $(CFG_SRC_DIR)mk/grammar.mk
227228
endif
228229

230+
# Performance and benchmarking
231+
ifneq ($(findstring perf,$(MAKECMDGOALS)),)
232+
CFG_INFO := $(info cfg: including perf rules)
233+
include $(CFG_SRC_DIR)mk/perf.mk
234+
endif
235+
229236
# Copy all the distributables to another directory for binary install
230237
ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
231238
$(findstring dist,$(MAKECMDGOALS)) \

branches/stable/README.md

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Read ["Installing Rust"] from [The Book].
1717
1. Make sure you have installed the dependencies:
1818

1919
* `g++` 4.7 or `clang++` 3.x
20-
* `python` 2.7 or later (but not 3.x)
20+
* `python` 2.6 or later (but not 3.x)
2121
* GNU `make` 3.81 or later
2222
* `curl`
2323
* `git`
@@ -53,16 +53,6 @@ Read ["Installing Rust"] from [The Book].
5353
5454
### Building on Windows
5555
56-
There are two prominent ABIs in use on Windows: the native (MSVC) ABI used by
57-
Visual Studio, and the GNU ABI used by the GCC toolchain. Which version of Rust
58-
you need depends largely on what C/C++ libraries you want to interoperate with:
59-
for interop with software produced by Visual Studio use the MSVC build of Rust;
60-
for interop with GNU software built using the MinGW/MSYS2 toolchain use the GNU
61-
build.
62-
63-
64-
#### MinGW
65-
6656
[MSYS2](http://msys2.github.io/) can be used to easily build Rust on Windows:
6757
6858
1. Grab the latest MSYS2 installer and go through the installer.
@@ -73,15 +63,12 @@ build.
7363
```sh
7464
# Update package mirrors (may be needed if you have a fresh install of MSYS2)
7565
$ pacman -Sy pacman-mirrors
76-
```
7766
78-
Download [MinGW from
79-
here](http://mingw-w64.org/doku.php/download/mingw-builds), and choose the
80-
`threads=win32,exceptions=dwarf/seh` flavor when installing. After installing,
81-
add its `bin` directory to your `PATH`. This is due to [#28260](https://github.com/rust-lang/rust/issues/28260), in the future,
82-
installing from pacman should be just fine.
67+
# Choose one based on platform:
68+
# *** see the note below ***
69+
$ pacman -S mingw-w64-i686-toolchain
70+
$ pacman -S mingw-w64-x86_64-toolchain
8371
84-
```
8572
# Make git available in MSYS2 (if not already available on path)
8673
$ pacman -S git
8774
@@ -97,19 +84,16 @@ installing from pacman should be just fine.
9784
$ ./configure
9885
$ make && make install
9986
```
100-
101-
#### MSVC
102-
103-
MSVC builds of Rust additionally require an installation of Visual Studio 2013
104-
(or later) so `rustc` can use its linker. Make sure to check the “C++ tools”
105-
option. In addition, `cmake` needs to be installed to build LLVM.
106-
107-
With these dependencies installed, the build takes two steps:
108-
109-
```sh
110-
$ ./configure
111-
$ make && make install
112-
```
87+
> ***Note:*** gcc versions >= 5 currently have issues building LLVM on Windows
88+
> resulting in a segmentation fault when building Rust. In order to avoid this
89+
> it may be necessary to obtain an earlier version of gcc such as 4.9.x.
90+
> Msys's `pacman` will install the latest version, so for the time being it is
91+
> recommended to skip gcc toolchain installation step above and use [Mingw-Builds]
92+
> project's installer instead. Be sure to add gcc `bin` directory to the path
93+
> before running `configure`.
94+
> For more information on this see issue #28260.
95+
96+
[Mingw-Builds]: http://sourceforge.net/projects/mingw-w64/
11397

11498
## Building Documentation
11599

branches/stable/configure

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -499,18 +499,13 @@ case $CFG_CPUTYPE in
499499
CFG_CPUTYPE=aarch64
500500
;;
501501

502-
powerpc | ppc)
502+
# At some point, when ppc64[le] support happens, this will need to do
503+
# something clever. For now it's safe to assume that we're only ever
504+
# interested in building 32 bit.
505+
powerpc | ppc | ppc64)
503506
CFG_CPUTYPE=powerpc
504507
;;
505508

506-
powerpc64 | ppc64)
507-
CFG_CPUTYPE=powerpc64
508-
;;
509-
510-
powerpc64le | ppc64le)
511-
CFG_CPUTYPE=powerpc64le
512-
;;
513-
514509
x86_64 | x86-64 | x64 | amd64)
515510
CFG_CPUTYPE=x86_64
516511
;;
@@ -550,7 +545,7 @@ CFG_SELF="$0"
550545
CFG_CONFIGURE_ARGS="$@"
551546

552547

553-
case "${CFG_SRC_DIR}" in
548+
case "${CFG_SRC_DIR}" in
554549
*\ * )
555550
err "The path to the rust source directory contains spaces, which is not supported"
556551
;;
@@ -627,7 +622,6 @@ valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path"
627622
valopt nacl-cross-path "" "NaCl SDK path (Pepper Canary is recommended). Must be absolute!"
628623
valopt release-channel "dev" "the name of the release channel to build"
629624
valopt musl-root "/usr/local" "MUSL root installation directory"
630-
valopt extra-filename "" "Additional data that is hashed and passed to the -C extra-filename flag"
631625

632626
# Used on systems where "cc" and "ar" are unavailable
633627
valopt default-linker "cc" "the default linker"
@@ -892,13 +886,6 @@ then
892886
CFG_DISABLE_JEMALLOC=1
893887
fi
894888

895-
if [ $CFG_OSTYPE = pc-windows-gnu ]
896-
then
897-
# FIXME(#31030) - there's not a great reason to disable jemalloc here
898-
step_msg "on Windows, disabling jemalloc"
899-
CFG_DISABLE_JEMALLOC=1
900-
fi
901-
902889
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
903890
# system, so if we find that gcc is clang, we should just use clang directly.
904891
if [ $CFG_OSTYPE = apple-darwin -a -z "$CFG_ENABLE_CLANG" ]
@@ -1042,7 +1029,7 @@ then
10421029
if [ -n "$CFG_OSX_CLANG_VERSION" ]
10431030
then
10441031
case $CFG_OSX_CLANG_VERSION in
1045-
(7.0* | 7.1* | 7.2*)
1032+
(7.0*)
10461033
step_msg "found ok version of APPLE CLANG: $CFG_OSX_CLANG_VERSION"
10471034
;;
10481035
(*)
@@ -1051,7 +1038,7 @@ then
10511038
esac
10521039
else
10531040
case $CFG_CLANG_VERSION in
1054-
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8* | 3.9*)
1041+
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8*)
10551042
step_msg "found ok version of CLANG: $CFG_CLANG_VERSION"
10561043
;;
10571044
(*)
@@ -1361,22 +1348,16 @@ for h in $CFG_HOST
13611348
do
13621349
for t in $CFG_TARGET
13631350
do
1364-
# host bin dir stage0
1365-
make_dir $h/stage0/bin
1366-
13671351
# host lib dir stage0
13681352
make_dir $h/stage0/lib
13691353

1370-
# host test dir stage0
1371-
make_dir $h/stage0/test
1372-
13731354
# target bin dir stage0
13741355
make_dir $h/stage0/lib/rustlib/$t/bin
13751356

13761357
# target lib dir stage0
13771358
make_dir $h/stage0/lib/rustlib/$t/lib
13781359

1379-
for i in 1 2 3
1360+
for i in 0 1 2 3
13801361
do
13811362
# host bin dir
13821363
make_dir $h/stage$i/bin

branches/stable/mk/cfg/arm-unknown-linux-gnueabi.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).so
88
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).a
99
CFG_LIB_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.so
1010
CFG_LIB_DSYM_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_arm-unknown-linux-gnueabi := -D__arm__ -mfloat-abi=soft $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_arm-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfloat-abi=soft $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_arm-unknown-linux-gnueabi := -D__arm__ -mfpu=vfp $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_arm-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfpu=vfp $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_arm-unknown-linux-gnueabi := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_arm-unknown-linux-gnueabi := -shared -fPIC -g
1515
CFG_GCCISH_DEF_FLAG_arm-unknown-linux-gnueabi := -Wl,--export-dynamic,--dynamic-list=

branches/stable/mk/cfg/powerpc64-unknown-linux-gnu.mk

Lines changed: 0 additions & 24 deletions
This file was deleted.

branches/stable/mk/cfg/powerpc64le-unknown-linux-gnu.mk

Lines changed: 0 additions & 24 deletions
This file was deleted.

branches/stable/mk/cfg/x86_64-unknown-bitrig.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ CFG_STATIC_LIB_NAME_x86_64-unknown-bitrig=lib$(1).a
88
CFG_LIB_GLOB_x86_64-unknown-bitrig=lib$(1)-*.so
99
CFG_LIB_DSYM_GLOB_x86_64-unknown-bitrig=$(1)-*.dylib.dSYM
1010
CFG_JEMALLOC_CFLAGS_x86_64-unknown-bitrig := -m64 -I/usr/include $(CFLAGS)
11-
CFG_GCCISH_CFLAGS_x86_64-unknown-bitrig := -Wall -Werror -fPIE -fPIC -m64 -I/usr/include $(CFLAGS)
11+
CFG_GCCISH_CFLAGS_x86_64-unknown-bitrig := -Wall -Werror -fPIC -m64 -I/usr/include $(CFLAGS)
1212
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-bitrig := -shared -pic -pthread -m64 $(LDFLAGS)
1313
CFG_GCCISH_DEF_FLAG_x86_64-unknown-bitrig := -Wl,--export-dynamic,--dynamic-list=
1414
CFG_LLC_FLAGS_x86_64-unknown-bitrig :=

branches/stable/mk/crates.mk

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ TARGET_CRATES := libc std flate arena term \
5757
RUSTC_CRATES := rustc rustc_typeck rustc_mir rustc_borrowck rustc_resolve rustc_driver \
5858
rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \
5959
rustc_data_structures rustc_front rustc_platform_intrinsics \
60-
rustc_plugin rustc_metadata rustc_passes
60+
rustc_plugin rustc_metadata
6161
HOST_CRATES := syntax syntax_ext $(RUSTC_CRATES) rustdoc fmt_macros
6262
TOOLS := compiletest rustdoc rustc rustbook error-index-generator
6363

@@ -97,14 +97,13 @@ DEPS_rustc_data_structures := std log serialize
9797
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \
9898
rustc_typeck rustc_mir rustc_resolve log syntax serialize rustc_llvm \
9999
rustc_trans rustc_privacy rustc_lint rustc_front rustc_plugin \
100-
rustc_metadata syntax_ext rustc_passes
100+
rustc_metadata syntax_ext
101101
DEPS_rustc_front := std syntax log serialize
102102
DEPS_rustc_lint := rustc log syntax
103103
DEPS_rustc_llvm := native:rustllvm libc std rustc_bitflags
104104
DEPS_rustc_metadata := rustc rustc_front syntax rbml
105-
DEPS_rustc_passes := syntax rustc core rustc_front
106105
DEPS_rustc_mir := rustc rustc_front syntax
107-
DEPS_rustc_resolve := arena rustc rustc_front log syntax
106+
DEPS_rustc_resolve := rustc rustc_front log syntax
108107
DEPS_rustc_platform_intrinsics := rustc rustc_llvm
109108
DEPS_rustc_plugin := rustc rustc_metadata syntax
110109
DEPS_rustc_privacy := rustc rustc_front log syntax
@@ -176,5 +175,9 @@ endef
176175

177176
$(foreach crate,$(TOOLS),$(eval $(call RUST_TOOL,$(crate))))
178177

178+
ifdef CFG_DISABLE_ELF_TLS
179+
RUSTFLAGS_std := --cfg no_elf_tls
180+
endif
181+
179182
CRATEFILE_libc := $(SREL)src/liblibc/src/lib.rs
180183
RUSTFLAGS_libc := --cfg stdbuild

branches/stable/mk/main.mk

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.8.0
16+
CFG_RELEASE_NUM=1.7.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release
@@ -22,7 +22,7 @@ CFG_PRERELEASE_VERSION=.1
2222

2323
# Append a version-dependent hash to each library, so we can install different
2424
# versions in the same place
25-
CFG_FILENAME_EXTRA=$(shell printf '%s' $(CFG_RELEASE)$(CFG_EXTRA_FILENAME) | $(CFG_HASH_COMMAND))
25+
CFG_FILENAME_EXTRA=$(shell printf '%s' $(CFG_RELEASE) | $(CFG_HASH_COMMAND))
2626

2727
ifeq ($(CFG_RELEASE_CHANNEL),stable)
2828
# This is the normal semver version string, e.g. "0.12.0", "0.12.0-nightly"
@@ -149,7 +149,7 @@ endif
149149
ifdef TRACE
150150
CFG_RUSTC_FLAGS += -Z trace
151151
endif
152-
ifndef CFG_DISABLE_RPATH
152+
ifdef CFG_ENABLE_RPATH
153153
CFG_RUSTC_FLAGS += -C rpath
154154
endif
155155

@@ -522,6 +522,14 @@ STAGE$(1)_T_$(2)_H_$(3) := \
522522
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
523523
$$(RUSTC_FLAGS_$(2))
524524

525+
PERF_STAGE$(1)_T_$(2)_H_$(3) := \
526+
$$(Q)$$(call CFG_RUN_TARG_$(3),$(1), \
527+
$$(CFG_PERF_TOOL) \
528+
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
529+
--cfg $$(CFGFLAG$(1)_T_$(2)_H_$(3)) \
530+
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
531+
$$(RUSTC_FLAGS_$(2))
532+
525533
endef
526534

527535
$(foreach build,$(CFG_HOST), \

0 commit comments

Comments
 (0)