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 8 pull requests #68113

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
b650e91
Label unmarked time
Zoxc Jan 9, 2020
5918c18
Tweak timers
Zoxc Jan 9, 2020
1c9f999
Add llvm-skip-rebuild to opts
Jan 9, 2020
5959999
Distribution CI for RISC-V GNU/Linux
msizanoen1 Jan 10, 2020
fcd850f
Do not ICE on unicode next point
estebank Jan 10, 2020
0bbbd5d
Match llvm-skip-rebuild flag
Jan 9, 2020
7e50b59
Prefer llvm-skip-rebuild flag value over config.toml
Jan 9, 2020
8ca5564
Clarify suggestion for E0013
varkor Jan 10, 2020
137a31d
Inline to make OsStr::is_empty zero cost
tesuji Jan 10, 2020
eca1e8b
Inline PathBuf::deref to make it zero cost
tesuji Jan 10, 2020
ea6bb7f
Inline `AsRef<Path> for str`
tesuji Jan 10, 2020
bf1d20c
Inline `impl From<OsString> for PathBuf`
tesuji Jan 10, 2020
3250057
Fix `next_point` to be unicode aware
estebank Jan 10, 2020
d558f6a
Fix invalid bounding box
estebank Jan 10, 2020
cd5ab97
inline `impl AsRef<OsStr> for OsString`
tesuji Jan 10, 2020
76e698f
inline `impl AsRef<Path> for PathBuf`
tesuji Jan 10, 2020
b93ef68
Change `next_point` when `shrink_to_hi` is more appropriate
estebank Jan 10, 2020
f6e9fd0
Add ICE regression tests
estebank Jan 10, 2020
5f3f1a3
inline `impl From<String> for Box<dyn Error + Send + Sync>`
tesuji Jan 10, 2020
799efd3
Fix issue with using `self` module via indirection
varkor Jan 10, 2020
6007641
gating diagnostics -> rustc_session::parse
Centril Jan 2, 2020
c944e6a
document feature_err et. al
Centril Jan 2, 2020
7c78090
get_features -> rustc_parse::config
Centril Jan 2, 2020
1af8c10
simplify feature_err imports
Centril Jan 2, 2020
fff5ef6
canonicalize rustc::session import
Centril Jan 2, 2020
d247ac4
Remove unused derives
Centril Jan 5, 2020
82eeb85
prepare for moving BuiltinLintDiagnostics to rustc_session
Centril Jan 5, 2020
7dbccf5
buffered lint infra -> rustc_session
Centril Jan 5, 2020
45f2764
prepare moving HardwiredLints to rustc_session
Centril Jan 5, 2020
2b44a6c
move {rustc -> rustc_session}::lint::builtin
Centril Jan 5, 2020
f361b71
nix syntax::early_buffered_lints
Centril Jan 5, 2020
ed69fbb
ast_validation -> new crate rustc_ast_passes
Centril Jan 5, 2020
6cbcb83
{syntax -> rustc_ast_passes}::feature_gate
Centril Jan 5, 2020
ae213db
{syntax -> rustc_ast_passes}::show_span
Centril Jan 5, 2020
7d6548a
rustc_passes: remove unused rustc_parse dep
Centril Jan 5, 2020
b4809d0
appease rustfmt
Centril Jan 5, 2020
d0d1c60
pacify tidy by nixing added docs :(
Centril Jan 5, 2020
682f500
fix fallout in ui-fulldeps
Centril Jan 8, 2020
e941e50
Rollup merge of #67806 - Centril:splitsynmore, r=petrochenkov
Centril Jan 11, 2020
39839f0
Rollup merge of #68037 - msizanoen1:riscv-ci, r=alexcrichton
Centril Jan 11, 2020
c74ae96
Rollup merge of #68043 - Zoxc:missing-timers, r=wesleywiser
Centril Jan 11, 2020
2afa631
Rollup merge of #68074 - matthew-healy:skip-llvm-rebuild-option, r=Ce…
Centril Jan 11, 2020
4c7559a
Rollup merge of #68079 - varkor:E0013-clarify, r=Centril
Centril Jan 11, 2020
4b7838f
Rollup merge of #68084 - estebank:ice-68000, r=varkor
Centril Jan 11, 2020
7817299
Rollup merge of #68102 - lzutao:inline, r=alexcrichton
Centril Jan 11, 2020
6940727
Rollup merge of #68106 - varkor:self_self_use, r=estebank
Centril Jan 11, 2020
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
24 changes: 23 additions & 1 deletion Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3374,6 +3374,21 @@ dependencies = [
"syntax",
]

[[package]]
name = "rustc_ast_passes"
version = "0.0.0"
dependencies = [
"log",
"rustc_data_structures",
"rustc_error_codes",
"rustc_errors",
"rustc_feature",
"rustc_parse",
"rustc_session",
"rustc_span",
"syntax",
]

[[package]]
name = "rustc_builtin_macros"
version = "0.0.0"
Expand All @@ -3386,6 +3401,7 @@ dependencies = [
"rustc_expand",
"rustc_feature",
"rustc_parse",
"rustc_session",
"rustc_span",
"rustc_target",
"smallvec 1.0.0",
Expand Down Expand Up @@ -3539,11 +3555,13 @@ name = "rustc_expand"
version = "0.0.0"
dependencies = [
"log",
"rustc_ast_passes",
"rustc_data_structures",
"rustc_errors",
"rustc_feature",
"rustc_lexer",
"rustc_parse",
"rustc_session",
"rustc_span",
"serialize",
"smallvec 1.0.0",
Expand Down Expand Up @@ -3613,6 +3631,7 @@ dependencies = [
"rustc",
"rustc-rayon",
"rustc_ast_lowering",
"rustc_ast_passes",
"rustc_builtin_macros",
"rustc_codegen_llvm",
"rustc_codegen_ssa",
Expand All @@ -3630,6 +3649,7 @@ dependencies = [
"rustc_plugin_impl",
"rustc_privacy",
"rustc_resolve",
"rustc_session",
"rustc_span",
"rustc_target",
"rustc_traits",
Expand Down Expand Up @@ -3768,6 +3788,7 @@ dependencies = [
"rustc_errors",
"rustc_feature",
"rustc_lexer",
"rustc_session",
"rustc_span",
"smallvec 1.0.0",
"syntax",
Expand All @@ -3786,7 +3807,7 @@ dependencies = [
"rustc_feature",
"rustc_hir",
"rustc_index",
"rustc_parse",
"rustc_session",
"rustc_span",
"rustc_target",
"syntax",
Expand Down Expand Up @@ -3866,6 +3887,7 @@ dependencies = [
"log",
"num_cpus",
"rustc_data_structures",
"rustc_error_codes",
"rustc_errors",
"rustc_feature",
"rustc_fs_util",
Expand Down
8 changes: 6 additions & 2 deletions src/bootstrap/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -493,9 +493,13 @@ impl Config {
config.mandir = install.mandir.clone().map(PathBuf::from);
}

// We want the llvm-skip-rebuild flag to take precedence over the
// skip-rebuild config.toml option so we store it separately
// so that we can infer the right value
let mut llvm_skip_rebuild = flags.llvm_skip_rebuild;

// Store off these values as options because if they're not provided
// we'll infer default values for them later
let mut llvm_skip_rebuild = None;
let mut llvm_assertions = None;
let mut debug = None;
let mut debug_assertions = None;
Expand All @@ -517,7 +521,7 @@ impl Config {
}
set(&mut config.ninja, llvm.ninja);
llvm_assertions = llvm.assertions;
llvm_skip_rebuild = llvm.skip_rebuild;
llvm_skip_rebuild = llvm_skip_rebuild.or(llvm.skip_rebuild);
set(&mut config.llvm_optimize, llvm.optimize);
set(&mut config.llvm_thin_lto, llvm.thin_lto);
set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);
Expand Down
13 changes: 13 additions & 0 deletions src/bootstrap/flags.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ pub struct Flags {
//
// true => deny, false => warn
pub deny_warnings: Option<bool>,

pub llvm_skip_rebuild: Option<bool>,
}

pub enum Subcommand {
Expand Down Expand Up @@ -150,6 +152,14 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`",
"VALUE",
);
opts.optopt("", "error-format", "rustc error format", "FORMAT");
opts.optopt(
"",
"llvm-skip-rebuild",
"whether rebuilding llvm should be skipped \
a VALUE of TRUE indicates that llvm will not be rebuilt \
VALUE overrides the skip-rebuild option in config.toml.",
"VALUE",
);

// fn usage()
let usage =
Expand Down Expand Up @@ -487,6 +497,9 @@ Arguments:
.map(|p| p.into())
.collect::<Vec<_>>(),
deny_warnings: parse_deny_warnings(&matches),
llvm_skip_rebuild: matches.opt_str("llvm-skip-rebuild").map(|s| s.to_lowercase()).map(
|s| s.parse::<bool>().expect("`llvm-skip-rebuild` should be either true or false"),
),
}
}
}
Expand Down
29 changes: 29 additions & 0 deletions src/ci/docker/dist-various-1/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,24 @@ FROM ubuntu:16.04

RUN apt-get update && apt-get install -y --no-install-recommends \
g++ \
automake \
bison \
bzip2 \
flex \
help2man \
libtool-bin \
texinfo \
unzip \
wget \
xz-utils \
libncurses-dev \
gawk \
make \
file \
curl \
ca-certificates \
python2.7 \
python3 \
git \
cmake \
sudo \
Expand Down Expand Up @@ -35,6 +48,18 @@ RUN add-apt-repository ppa:team-gcc-arm-embedded/ppa && \
apt-get update && \
apt-get install -y --no-install-recommends gcc-arm-embedded

COPY scripts/rustbuild-setup.sh dist-various-1/build-riscv-toolchain.sh dist-various-1/riscv64-unknown-linux-gnu.config dist-various-1/crosstool-ng.sh /build
RUN ./crosstool-ng.sh

# Crosstool-ng will refuse to build as root
RUN ./rustbuild-setup.sh
USER rustbuild

RUN ./build-riscv-toolchain.sh

USER root
ENV PATH=/x-tools/riscv64-unknown-linux-gnu/bin:$PATH

COPY dist-various-1/build-rumprun.sh /build
RUN ./build-rumprun.sh

Expand Down Expand Up @@ -129,6 +154,7 @@ ENV TARGETS=$TARGETS,riscv32imc-unknown-none-elf
ENV TARGETS=$TARGETS,riscv32imac-unknown-none-elf
ENV TARGETS=$TARGETS,riscv64imac-unknown-none-elf
ENV TARGETS=$TARGETS,riscv64gc-unknown-none-elf
ENV TARGETS=$TARGETS,riscv64gc-unknown-linux-gnu
ENV TARGETS=$TARGETS,armebv7r-none-eabi
ENV TARGETS=$TARGETS,armebv7r-none-eabihf
ENV TARGETS=$TARGETS,armv7r-none-eabi
Expand All @@ -147,6 +173,9 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
AR_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-ar \
CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ \
CC_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-gcc \
AR_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-ar \
CXX_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-g++ \
CC_riscv32i_unknown_none_elf=false \
CC_riscv32imc_unknown_none_elf=false \
CC_riscv32imac_unknown_none_elf=false \
Expand Down
27 changes: 27 additions & 0 deletions src/ci/docker/dist-various-1/build-riscv-toolchain.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash

set -ex

hide_output() {
set +x
on_err="
echo ERROR: An error was encountered with the build.
cat /tmp/build.log
exit 1
"
trap "$on_err" ERR
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
PING_LOOP_PID=$!
$@ &> /tmp/build.log
rm /tmp/build.log
trap - ERR
kill $PING_LOOP_PID
set -x
}

mkdir -p /tmp/build-riscv
cp riscv64-unknown-linux-gnu.config /tmp/build-riscv/.config
cd /tmp/build-riscv
hide_output ct-ng build
cd ..
rm -rf build-riscv
13 changes: 13 additions & 0 deletions src/ci/docker/dist-various-1/crosstool-ng.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -ex

# Mirrored from https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-1.24.0.tar.gz
url="https://ci-mirrors.rust-lang.org/rustc/crosstool-ng-1.24.0.tar.gz"
curl -Lf $url | tar xzf -
cd crosstool-ng-crosstool-ng-1.24.0
./bootstrap
./configure --prefix=/usr/local
make -j$(nproc)
make install
cd ..
rm -rf crosstool-ng-crosstool-ng-1.24.0
Loading