response for review comments

This commit is contained in:
Ariel Ben-Yehuda 2014-10-15 20:03:44 +03:00
parent 1ee345a87b
commit 61ab2ea08a
7 changed files with 9 additions and 9 deletions

View File

@ -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())
}
}

View File

@ -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);

View File

@ -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() => {}

View File

@ -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];

View File

@ -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,