Skip to content

Commit d41af13

Browse files
committed
rustc: Extract session::basic_options from rustdoc
1 parent d21d1ec commit d41af13

File tree

2 files changed

+30
-27
lines changed

2 files changed

+30
-27
lines changed

Diff for: src/rustc/driver/session.rs

+29
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import syntax::ast::{int_ty, uint_ty, float_ty};
66
import syntax::parse::parse_sess;
77
import util::filesearch;
88
import back::target_strs;
9+
import back::link;
910
import middle::lint;
1011

1112
enum os { os_win32, os_macos, os_linux, os_freebsd, }
@@ -113,6 +114,34 @@ impl session for session {
113114
}
114115
}
115116

117+
#[doc = "Some reasonable defaults"]
118+
fn basic_options() -> @options {
119+
@{
120+
crate_type: session::lib_crate,
121+
static: false,
122+
optimize: 0u,
123+
debuginfo: false,
124+
extra_debuginfo: false,
125+
verify: false,
126+
lint_opts: [],
127+
save_temps: false,
128+
stats: false,
129+
time_passes: false,
130+
count_llvm_insns: false,
131+
time_llvm_passes: false,
132+
output_type: link::output_type_exe,
133+
addl_lib_search_paths: [],
134+
maybe_sysroot: none,
135+
target_triple: driver::host_triple(),
136+
cfg: [],
137+
test: false,
138+
parse_only: false,
139+
no_trans: false,
140+
no_asm_comments: false,
141+
debug_rustc: false,
142+
}
143+
}
144+
116145
// Seems out of place, but it uses session, so I'm putting it here
117146
fn expect<T: copy>(sess: session, opt: option<T>, msg: fn() -> str) -> T {
118147
alt opt {

Diff for: src/rustdoc/astsrv.rs

+1-27
Original file line numberDiff line numberDiff line change
@@ -123,34 +123,8 @@ fn build_ctxt(sess: session::session, ast: @ast::crate,
123123
}
124124
}
125125

126-
// FIXME: this whole structure should not be duplicated here. makes it
127-
// painful to add or remove options.
128126
fn build_session() -> (session::session, @mut bool) {
129-
let sopts: @session::options = @{
130-
crate_type: session::lib_crate,
131-
static: false,
132-
optimize: 0u,
133-
debuginfo: false,
134-
extra_debuginfo: false,
135-
verify: false,
136-
lint_opts: [],
137-
save_temps: false,
138-
stats: false,
139-
time_passes: false,
140-
count_llvm_insns: false,
141-
time_llvm_passes: false,
142-
output_type: link::output_type_exe,
143-
addl_lib_search_paths: [],
144-
maybe_sysroot: none,
145-
target_triple: driver::host_triple(),
146-
cfg: [],
147-
test: false,
148-
parse_only: false,
149-
no_trans: false,
150-
no_asm_comments: false,
151-
debug_rustc: false,
152-
};
153-
127+
let sopts: @session::options = session::basic_options();
154128
let codemap = codemap::new_codemap();
155129
let error_handlers = build_error_handlers(codemap);
156130
let {emitter, span_handler, ignore_errors} = error_handlers;

0 commit comments

Comments
 (0)