diff --git a/src/librustc/middle/trans/context.rs b/src/librustc/middle/trans/context.rs index 0ef9cde56f9..9c37bd4ec14 100644 --- a/src/librustc/middle/trans/context.rs +++ b/src/librustc/middle/trans/context.rs @@ -720,12 +720,12 @@ impl<'b, 'tcx> CrateContext<'b, 'tcx> { } pub fn max_obj_size(&self) -> u64 { - 1<<31 /* FIXME: select based on architecture */ + 1<<31 /* FIXME #18069: select based on architecture */ } pub fn report_overbig_object(&self, obj: ty::t) -> ! { self.sess().fatal( - format!("Objects of type `{}` are too big for the current ABI", + format!("the type `{}` is too big for the current architecture", obj.repr(self.tcx())).as_slice()) } } diff --git a/src/librustc/middle/trans/controlflow.rs b/src/librustc/middle/trans/controlflow.rs index 3f08061ca88..bbd4233625f 100644 --- a/src/librustc/middle/trans/controlflow.rs +++ b/src/librustc/middle/trans/controlflow.rs @@ -499,7 +499,7 @@ pub fn trans_fail<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, let loc = bcx.sess().codemap().lookup_char_pos(sp.lo); let filename = token::intern_and_get_ident(loc.file.name.as_slice()); let filename = C_str_slice(ccx, filename); - let line = C_int(ccx, loc.line as i64); + let line = C_uint(ccx, loc.line); let expr_file_line_const = C_struct(ccx, &[v_str, filename, line], false); let expr_file_line = consts::const_addr_of(ccx, expr_file_line_const, ast::MutImmutable); let args = vec!(expr_file_line); @@ -526,7 +526,7 @@ pub fn trans_fail_bounds_check<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, // Invoke the lang item let filename = C_str_slice(ccx, filename); - let line = C_int(ccx, loc.line as i64); + let line = C_uint(ccx, loc.line); let file_line_const = C_struct(ccx, &[filename, line], false); let file_line = consts::const_addr_of(ccx, file_line_const, ast::MutImmutable); let args = vec!(file_line, index, len); diff --git a/src/librustc/middle/trans/type_of.rs b/src/librustc/middle/trans/type_of.rs index 87b63478ea1..29bf3d3dc3d 100644 --- a/src/librustc/middle/trans/type_of.rs +++ b/src/librustc/middle/trans/type_of.rs @@ -28,9 +28,9 @@ use std::num::CheckedMul; // LLVM doesn't like objects that are too big. Issue #17913 fn ensure_array_fits_in_address_space(ccx: &CrateContext, - llet: Type, - size: machine::llsize, - scapegoat: ty::t) { + llet: Type, + size: machine::llsize, + scapegoat: ty::t) { let esz = machine::llsize_of_alloc(ccx, llet); match esz.checked_mul(&size) { Some(n) if n < ccx.max_obj_size() => {} diff --git a/src/test/compile-fail/simple-oversized-array.rs b/src/test/compile-fail/huge-array-simple.rs similarity index 91% rename from src/test/compile-fail/simple-oversized-array.rs rename to src/test/compile-fail/huge-array-simple.rs index 3edabc0b5db..badaa4b922f 100644 --- a/src/test/compile-fail/simple-oversized-array.rs +++ b/src/test/compile-fail/huge-array-simple.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// error-pattern: too big for the current ABI +// error-pattern: too big for the current fn main() { let fat : [u8, ..1<<61] = [0, ..1<<61]; diff --git a/src/test/compile-fail/oversized-array.rs b/src/test/compile-fail/huge-array.rs similarity index 100% rename from src/test/compile-fail/oversized-array.rs rename to src/test/compile-fail/huge-array.rs diff --git a/src/test/compile-fail/oversized-discriminant.rs b/src/test/compile-fail/huge-enum.rs similarity index 100% rename from src/test/compile-fail/oversized-discriminant.rs rename to src/test/compile-fail/huge-enum.rs diff --git a/src/test/compile-fail/oversized-struct.rs b/src/test/compile-fail/huge-struct.rs similarity index 95% rename from src/test/compile-fail/oversized-struct.rs rename to src/test/compile-fail/huge-struct.rs index c1274ba1c01..a10c61d6606 100644 --- a/src/test/compile-fail/oversized-struct.rs +++ b/src/test/compile-fail/huge-struct.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// error-pattern: are too big for the current ABI +// error-pattern: too big for the current struct S32<T> { v0: T,