librustc_trans: fix fallout

This commit is contained in:
Jorge Aparicio 2014-12-09 11:00:41 -05:00
parent 46272c18a2
commit 0d4d8b9b78

View File

@ -81,8 +81,9 @@ pub fn run(sess: &session::Session, llmod: ModuleRef,
break;
},
};
let bc_extractor = if is_versioned_bytecode_format(bc_encoded) {
|_| {
let bc_decoded = if is_versioned_bytecode_format(bc_encoded) {
time(sess.time_passes(), format!("decode {}.{}.bc", file, i).as_slice(), (), |_| {
// Read the version
let version = extract_bytecode_format_version(bc_encoded);
@ -104,11 +105,11 @@ pub fn run(sess: &session::Session, llmod: ModuleRef,
sess.fatal(format!("Unsupported bytecode format version {}",
version).as_slice())
}
}
})
} else {
time(sess.time_passes(), format!("decode {}.{}.bc", file, i).as_slice(), (), |_| {
// the object must be in the old, pre-versioning format, so simply
// inflate everything and let LLVM decide if it can make sense of it
|_| {
match flate::inflate_bytes(bc_encoded) {
Some(bc) => bc,
None => {
@ -116,14 +117,9 @@ pub fn run(sess: &session::Session, llmod: ModuleRef,
name).as_slice())
}
}
}
})
};
let bc_decoded = time(sess.time_passes(),
format!("decode {}.{}.bc", file, i).as_slice(),
(),
bc_extractor);
let ptr = bc_decoded.as_slice().as_ptr();
debug!("linking {}, part {}", name, i);
time(sess.time_passes(),