pub const CG_OPTIONS: &'static [(&'static str, fn(&mut CodegenOptions, Option<&str>) -> bool, Option<&'static str>, &'static str)] =
&[("ar", cgsetters::ar, cg_type_desc::parse_opt_string,
"tool to assemble archives with"),
("linker", cgsetters::linker, cg_type_desc::parse_opt_string,
"system linker to link outputs with"),
("link_args", cgsetters::link_args, cg_type_desc::parse_opt_list,
"extra arguments to pass to the linker (space separated)"),
("lto", cgsetters::lto, cg_type_desc::parse_bool,
"perform LLVM link-time optimizations"),
("target_cpu", cgsetters::target_cpu, cg_type_desc::parse_opt_string,
"select target processor (llc -mcpu=help for details)"),
("target_feature", cgsetters::target_feature, cg_type_desc::parse_string,
"target specific attributes (llc -mattr=help for details)"),
("passes", cgsetters::passes, cg_type_desc::parse_list,
"a list of extra LLVM passes to run (space separated)"),
("llvm_args", cgsetters::llvm_args, cg_type_desc::parse_list,
"a list of arguments to pass to llvm (space separated)"),
("save_temps", cgsetters::save_temps, cg_type_desc::parse_bool,
"save all temporary output files during compilation"),
("rpath", cgsetters::rpath, cg_type_desc::parse_bool,
"set rpath values in libs/exes"),
("no_prepopulate_passes", cgsetters::no_prepopulate_passes,
cg_type_desc::parse_bool,
"don\'t pre-populate the pass manager with a list of passes"),
("no_vectorize_loops", cgsetters::no_vectorize_loops,
cg_type_desc::parse_bool,
"don\'t run the loop vectorization optimization passes"),
("no_vectorize_slp", cgsetters::no_vectorize_slp, cg_type_desc::parse_bool,
"don\'t run LLVM\'s SLP vectorization pass"),
("soft_float", cgsetters::soft_float, cg_type_desc::parse_bool,
"generate software floating point library calls"),
("prefer_dynamic", cgsetters::prefer_dynamic, cg_type_desc::parse_bool,
"prefer dynamic linking to static linking"),
("no_integrated_as", cgsetters::no_integrated_as, cg_type_desc::parse_bool,
"use an external assembler rather than LLVM\'s integrated one"),
("no_redzone", cgsetters::no_redzone, cg_type_desc::parse_opt_bool,
"disable the use of the redzone"),
("relocation_model", cgsetters::relocation_model,
cg_type_desc::parse_opt_string,
"choose the relocation model to use (llc -relocation-model for details)"),
("code_model", cgsetters::code_model, cg_type_desc::parse_opt_string,
"choose the code model to use (llc -code-model for details)"),
("metadata", cgsetters::metadata, cg_type_desc::parse_list,
"metadata to mangle symbol names with"),
("extra_filename", cgsetters::extra_filename, cg_type_desc::parse_string,
"extra data to put in each output filename"),
("codegen_units", cgsetters::codegen_units, cg_type_desc::parse_uint,
"divide crate into N units to optimize in parallel"),
("remark", cgsetters::remark, cg_type_desc::parse_passes,
"print remarks for these optimization passes (space separated, or \"all\")"),
("no_stack_check", cgsetters::no_stack_check, cg_type_desc::parse_bool,
"disable checks for stack exhaustion (a memory-safety hazard!)"),
("debuginfo", cgsetters::debuginfo, cg_type_desc::parse_opt_uint,
"debug info emission level, 0 = no debug info, 1 = line tables only, 2 = full debug info with variable and type information"),
("opt_level", cgsetters::opt_level, cg_type_desc::parse_opt_uint,
"Optimize with possible levels 0-3"),
("debug_assertions", cgsetters::debug_assertions,
cg_type_desc::parse_opt_bool,
"explicitly enable the cfg(debug_assertions) directive")]