From fa5306e59e14a065975da91e4f6ac7b0a7dc038a Mon Sep 17 00:00:00 2001 From: est31 Date: Thu, 29 Mar 2018 22:30:39 +0200 Subject: [PATCH 1/3] Require i128 in emscripten tests --- src/test/run-pass/float-int-invalid-const-cast.rs | 2 -- src/test/run-pass/i128.rs | 2 -- src/test/run-pass/intrinsics-integer.rs | 2 -- src/test/run-pass/saturating-float-casts.rs | 11 +++-------- 4 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/test/run-pass/float-int-invalid-const-cast.rs b/src/test/run-pass/float-int-invalid-const-cast.rs index f84432abbfa0b..e334e840c9606 100644 --- a/src/test/run-pass/float-int-invalid-const-cast.rs +++ b/src/test/run-pass/float-int-invalid-const-cast.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// ignore-emscripten no i128 support - #![deny(const_err)] use std::{f32, f64}; diff --git a/src/test/run-pass/i128.rs b/src/test/run-pass/i128.rs index baf3b3399849a..c5bdc6800fc89 100644 --- a/src/test/run-pass/i128.rs +++ b/src/test/run-pass/i128.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// ignore-emscripten i128 doesn't work - // compile-flags: -Z borrowck=compare #![feature(test)] diff --git a/src/test/run-pass/intrinsics-integer.rs b/src/test/run-pass/intrinsics-integer.rs index 7a8ff1befc7f0..4b535c90c83b1 100644 --- a/src/test/run-pass/intrinsics-integer.rs +++ b/src/test/run-pass/intrinsics-integer.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// ignore-emscripten no i128 support - #![feature(intrinsics)] mod rusti { diff --git a/src/test/run-pass/saturating-float-casts.rs b/src/test/run-pass/saturating-float-casts.rs index ad3b4b172594e..e6d90c8120250 100644 --- a/src/test/run-pass/saturating-float-casts.rs +++ b/src/test/run-pass/saturating-float-casts.rs @@ -16,9 +16,7 @@ extern crate test; use std::{f32, f64}; -use std::{u8, i8, u16, i16, u32, i32, u64, i64}; -#[cfg(not(target_os="emscripten"))] -use std::{u128, i128}; +use std::{u8, i8, u16, i16, u32, i32, u64, i64, u128, i128}; use test::black_box; macro_rules! test { @@ -97,11 +95,8 @@ macro_rules! fptoui_tests { pub fn main() { common_fptoi_tests!(f* -> i8 i16 i32 i64 u8 u16 u32 u64); fptoui_tests!(f* -> u8 u16 u32 u64); - // FIXME emscripten does not support i128 - #[cfg(not(target_os="emscripten"))] { - common_fptoi_tests!(f* -> i128 u128); - fptoui_tests!(f* -> u128); - } + common_fptoi_tests!(f* -> i128 u128); + fptoui_tests!(f* -> u128); // The following tests cover edge cases for some integer types. From 9832675b68078bd444cceeed4269102820a797d8 Mon Sep 17 00:00:00 2001 From: est31 Date: Thu, 29 Mar 2018 22:31:02 +0200 Subject: [PATCH 2/3] Enable i128 lowering for emscrpten --- src/librustc_back/target/asmjs_unknown_emscripten.rs | 1 + src/librustc_back/target/wasm32_unknown_emscripten.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/librustc_back/target/asmjs_unknown_emscripten.rs b/src/librustc_back/target/asmjs_unknown_emscripten.rs index ab7df4ba1c543..f6e0cbc559665 100644 --- a/src/librustc_back/target/asmjs_unknown_emscripten.rs +++ b/src/librustc_back/target/asmjs_unknown_emscripten.rs @@ -30,6 +30,7 @@ pub fn target() -> Result { max_atomic_width: Some(32), post_link_args: args, target_family: Some("unix".to_string()), + i128_lowering: true, codegen_backend: "emscripten".to_string(), .. Default::default() }; diff --git a/src/librustc_back/target/wasm32_unknown_emscripten.rs b/src/librustc_back/target/wasm32_unknown_emscripten.rs index 2770e67e30a5b..7c0599b8a7388 100644 --- a/src/librustc_back/target/wasm32_unknown_emscripten.rs +++ b/src/librustc_back/target/wasm32_unknown_emscripten.rs @@ -32,6 +32,7 @@ pub fn target() -> Result { max_atomic_width: Some(32), post_link_args, target_family: Some("unix".to_string()), + i128_lowering: true, codegen_backend: "emscripten".to_string(), .. Default::default() }; From 2515c5ca0396c7539bf7dfc59f523daa83b4fd98 Mon Sep 17 00:00:00 2001 From: est31 Date: Thu, 29 Mar 2018 22:34:56 +0200 Subject: [PATCH 3/3] Try asmjs --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 091a5abdaa216..7da4a677faf7e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -155,7 +155,7 @@ matrix: - env: IMAGE=dist-x86_64-netbsd DEPLOY=1 if: branch = auto - env: IMAGE=asmjs - if: branch = auto + if: type = pull_request OR branch = try OR branch = auto - env: IMAGE=i686-gnu if: branch = auto - env: IMAGE=i686-gnu-nopt