Introduce SmallCStr and use it where applicable.
This commit is contained in:
parent
9585c5dc1f
commit
88d84b38f1
13 changed files with 200 additions and 75 deletions
|
@ -31,6 +31,7 @@ use rustc::hir::def_id::{CrateNum, LOCAL_CRATE};
|
|||
use rustc::ty::TyCtxt;
|
||||
use rustc::util::common::{time_ext, time_depth, set_time_depth, print_time_passes_entry};
|
||||
use rustc_fs_util::{path2cstr, link_or_copy};
|
||||
use rustc_data_structures::small_c_str::SmallCStr;
|
||||
use errors::{self, Handler, Level, DiagnosticBuilder, FatalError, DiagnosticId};
|
||||
use errors::emitter::{Emitter};
|
||||
use syntax::attr;
|
||||
|
@ -170,11 +171,8 @@ pub fn target_machine_factory(sess: &Session, find_features: bool)
|
|||
|
||||
let singlethread = sess.target.target.options.singlethread;
|
||||
|
||||
let triple = &sess.target.target.llvm_target;
|
||||
|
||||
let triple = CString::new(triple.as_bytes()).unwrap();
|
||||
let cpu = sess.target_cpu();
|
||||
let cpu = CString::new(cpu.as_bytes()).unwrap();
|
||||
let triple = SmallCStr::new(&sess.target.target.llvm_target);
|
||||
let cpu = SmallCStr::new(sess.target_cpu());
|
||||
let features = attributes::llvm_target_features(sess)
|
||||
.collect::<Vec<_>>()
|
||||
.join(",");
|
||||
|
@ -522,7 +520,7 @@ unsafe fn optimize(cgcx: &CodegenContext,
|
|||
// If we're verifying or linting, add them to the function pass
|
||||
// manager.
|
||||
let addpass = |pass_name: &str| {
|
||||
let pass_name = CString::new(pass_name).unwrap();
|
||||
let pass_name = SmallCStr::new(pass_name);
|
||||
let pass = match llvm::LLVMRustFindAndCreatePass(pass_name.as_ptr()) {
|
||||
Some(pass) => pass,
|
||||
None => return false,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue