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

appveyor: Upgrade MinGW toolchains we use #40777

Merged
merged 1 commit into from
Mar 24, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 8 additions & 8 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@ environment:
- MSYS_BITS: 32
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-ninja
SCRIPT: python x.py test
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
MINGW_ARCHIVE: i686-6.3.0-release-win32-dwarf-rt_v5-rev1.7z
MINGW_DIR: mingw32
- MSYS_BITS: 64
SCRIPT: python x.py test
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-ninja
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
MINGW_ARCHIVE: x86_64-4.9.2-release-win32-seh-rt_v4-rev4.7z
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
MINGW_ARCHIVE: x86_64-6.3.0-release-win32-seh-rt_v5-rev1.7z
MINGW_DIR: mingw64

# 32/64 bit MSVC and GNU deployment
Expand All @@ -70,15 +70,15 @@ environment:
- MSYS_BITS: 32
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-extended --enable-ninja
SCRIPT: python x.py dist
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
MINGW_ARCHIVE: i686-6.3.0-release-win32-dwarf-rt_v5-rev1.7z
MINGW_DIR: mingw32
DEPLOY: 1
- MSYS_BITS: 64
SCRIPT: python x.py dist
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-extended --enable-ninja
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
MINGW_ARCHIVE: x86_64-4.9.2-release-win32-seh-rt_v4-rev4.7z
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
MINGW_ARCHIVE: x86_64-6.3.0-release-win32-seh-rt_v5-rev1.7z
MINGW_DIR: mingw64
DEPLOY: 1

Expand Down
27 changes: 7 additions & 20 deletions src/test/run-pass/issue-16671.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,13 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// DON'T REENABLE THIS UNLESS YOU'VE ACTUALLY FIXED THE UNDERLYING ISSUE
// ignore-android seems to block forever
#![deny(warnings)]

// ignore-emscripten no threads support
fn foo<F: FnOnce()>(_f: F) { }

#![forbid(warnings)]

// Pretty printing tests complain about `use std::predule::*`
#![allow(unused_imports)]

// A var moved into a proc, that has a mutable loan path should
// not trigger a misleading unused_mut warning.

use std::io::prelude::*;
use std::thread;

pub fn main() {
let mut stdin = std::io::stdin();
thread::spawn(move|| {
let mut v = Vec::new();
let _ = stdin.read_to_end(&mut v);
}).join().ok().unwrap();
fn main() {
let mut var = Vec::new();;
foo(move|| {
var.push(1);
});
}
19 changes: 18 additions & 1 deletion src/tools/compiletest/src/procsrv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,26 @@ pub fn run(lib_path: &str,

let mut cmd = Command::new(prog);
cmd.args(args)
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.stderr(Stdio::piped());

// Why oh why do we sometimes make a pipe and sometimes inherit the stdin
// stream, well that's an excellent question! In theory it should suffice to
// always create a pipe here and be done with it. Unfortunately though
// there's apparently something odd with the gdb that comes with gcc 6.3.0
// on MinGW. Tracked at rust-lang/rust#40184 when stdin is piped here
// (unconditionally) then all gdb tests will fail on MinGW when using gcc
// 6.3.0. WHen using an inherited stdin though they happen to all work!
//
// As to why this fixes the issue, well, I have no idea. If you can remove
// this branch and unconditionally use `piped` and it gets past @bors please
// feel free to send a PR!
if input.is_some() || !cfg!(windows) {
cmd.stdin(Stdio::piped());
} else {
cmd.stdin(Stdio::inherit());
}

add_target_env(&mut cmd, lib_path, aux_path);
for (key, val) in env {
cmd.env(&key, &val);
Expand Down