diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-08-21 17:22:45 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-08-22 12:25:08 -0700 |
| commit | 728496929292c692aaad005bdbf4376bb1d78c4f (patch) | |
| tree | 07e7440ab435a3dd95509947f913774de9fa6e3f /src/rustc/driver/driver.rs | |
| parent | 0e620ac030eddc9a12ada8a209e8ffeda6e10427 (diff) | |
| download | rust-728496929292c692aaad005bdbf4376bb1d78c4f.tar.gz rust-728496929292c692aaad005bdbf4376bb1d78c4f.zip | |
Eliminate many match checks in rustc
Diffstat (limited to 'src/rustc/driver/driver.rs')
| -rw-r--r-- | src/rustc/driver/driver.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/rustc/driver/driver.rs b/src/rustc/driver/driver.rs index 36df337a4d4..106cce91ccb 100644 --- a/src/rustc/driver/driver.rs +++ b/src/rustc/driver/driver.rs @@ -1,6 +1,6 @@ // -*- rust -*- import metadata::{creader, cstore, filesearch}; -import session::{session, session_}; +import session::{session, session_, OptLevel, No, Less, Default, Aggressive}; import syntax::parse; import syntax::{ast, codemap}; import syntax::attr; @@ -488,24 +488,24 @@ fn build_session_options(matches: getopts::matches, link::output_type_llvm_assembly | link::output_type_assembly => (), _ => debugging_opts |= session::no_asm_comments } - let opt_level: uint = + let opt_level = if opt_present(matches, ~"O") { if opt_present(matches, ~"opt-level") { early_error(demitter, ~"-O and --opt-level both provided"); } - 2u + Default } else if opt_present(matches, ~"opt-level") { match getopts::opt_str(matches, ~"opt-level") { - ~"0" => 0u, - ~"1" => 1u, - ~"2" => 2u, - ~"3" => 3u, + ~"0" => No, + ~"1" => Less, + ~"2" => Default, + ~"3" => Aggressive, _ => { early_error(demitter, ~"optimization level needs " + ~"to be between 0-3") } } - } else { 0u }; + } else { No }; let target = match target_opt { none => host_triple(), |
