about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-01-20 13:55:10 -0800
committerAlex Crichton <alex@alexcrichton.com>2014-01-21 09:23:56 -0800
commit254e35c268df93a6cb6735b99e3fd91481606577 (patch)
tree5857cd7dec58d3bc3d8c8ec2c7577f9c75002b0c
parenta8807771b257cfc9437ed1c837c10480f2a39ac3 (diff)
downloadrust-254e35c268df93a6cb6735b99e3fd91481606577.tar.gz
rust-254e35c268df93a6cb6735b99e3fd91481606577.zip
Capitalize debugging opts and make them u64
-rw-r--r--src/librustc/back/link.rs4
-rw-r--r--src/librustc/driver/driver.rs16
-rw-r--r--src/librustc/driver/session.rs161
3 files changed, 91 insertions, 90 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index 00a6d1cccd5..06c13c7de15 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -126,7 +126,7 @@ pub mod write {
               session::Default => lib::llvm::CodeGenLevelDefault,
               session::Aggressive => lib::llvm::CodeGenLevelAggressive,
             };
-            let use_softfp = sess.opts.debugging_opts & session::use_softfp != 0;
+            let use_softfp = sess.opts.debugging_opts & session::USE_SOFTFP != 0;
 
             let tm = sess.targ_cfg.target_strs.target_triple.with_c_str(|T| {
                 sess.opts.target_cpu.with_c_str(|CPU| {
@@ -987,7 +987,7 @@ fn link_natively(sess: Session, dylib: bool, obj_filename: &Path,
     let mut cc_args = sess.targ_cfg.target_strs.cc_args.clone();
     cc_args.push_all_move(link_args(sess, dylib, tmpdir.path(),
                                     obj_filename, out_filename));
-    if (sess.opts.debugging_opts & session::print_link_args) != 0 {
+    if (sess.opts.debugging_opts & session::PRINT_LINK_ARGS) != 0 {
         println!("{} link args: '{}'", cc_prog, cc_args.connect("' '"));
     }
 
diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs
index 9555a706f08..dcab4376cd1 100644
--- a/src/librustc/driver/driver.rs
+++ b/src/librustc/driver/driver.rs
@@ -759,22 +759,22 @@ pub fn build_session_options(binary: ~str,
         }
     }
 
-    let mut debugging_opts = 0u;
+    let mut debugging_opts = 0;
     let debug_flags = matches.opt_strs("Z");
     let debug_map = session::debugging_opts_map();
     for debug_flag in debug_flags.iter() {
-        let mut this_bit = 0u;
+        let mut this_bit = 0;
         for tuple in debug_map.iter() {
             let (name, bit) = match *tuple { (ref a, _, b) => (a, b) };
             if *name == *debug_flag { this_bit = bit; break; }
         }
-        if this_bit == 0u {
+        if this_bit == 0 {
             early_error(demitter, format!("unknown debug flag: {}", *debug_flag))
         }
         debugging_opts |= this_bit;
     }
 
-    if debugging_opts & session::debug_llvm != 0 {
+    if debugging_opts & session::DEBUG_LLVM != 0 {
         unsafe { llvm::LLVMSetDebug(1); }
     }
 
@@ -797,7 +797,7 @@ pub fn build_session_options(binary: ~str,
     let target_feature = matches.opt_str("target-feature").unwrap_or(~"");
     let save_temps = matches.opt_present("save-temps");
     let opt_level = {
-        if (debugging_opts & session::no_opt) != 0 {
+        if (debugging_opts & session::NO_OPT) != 0 {
             No
         } else if matches.opt_present("O") {
             if matches.opt_present("opt-level") {
@@ -816,9 +816,9 @@ pub fn build_session_options(binary: ~str,
             }
         } else { No }
     };
-    let gc = debugging_opts & session::gc != 0;
-    let extra_debuginfo = debugging_opts & session::extra_debug_info != 0;
-    let debuginfo = debugging_opts & session::debug_info != 0 ||
+    let gc = debugging_opts & session::GC != 0;
+    let extra_debuginfo = debugging_opts & session::EXTRA_DEBUG_INFO != 0;
+    let debuginfo = debugging_opts & session::DEBUG_INFO != 0 ||
         extra_debuginfo;
 
     let addl_lib_search_paths = matches.opt_strs("L").map(|s| {
diff --git a/src/librustc/driver/session.rs b/src/librustc/driver/session.rs
index d3c67e7f1c0..75094bc8084 100644
--- a/src/librustc/driver/session.rs
+++ b/src/librustc/driver/session.rs
@@ -41,88 +41,89 @@ pub struct Config {
 
 macro_rules! debugging_opts(
     ([ $opt:ident ] $cnt:expr ) => (
-        pub static $opt: uint = 1 << $cnt;
+        pub static $opt: u64 = 1 << $cnt;
     );
     ([ $opt:ident, $($rest:ident),* ] $cnt:expr ) => (
-        pub static $opt: uint = 1 << $cnt;
+        pub static $opt: u64 = 1 << $cnt;
         debugging_opts!([ $($rest),* ] $cnt + 1)
     )
 )
 
 debugging_opts!(
     [
-        verbose,
-        time_passes,
-        count_llvm_insns,
-        time_llvm_passes,
-        trans_stats,
-        asm_comments,
-        no_verify,
-        borrowck_stats,
-        no_landing_pads,
-        debug_llvm,
-        count_type_sizes,
-        meta_stats,
-        no_opt,
-        gc,
-        debug_info,
-        extra_debug_info,
-        print_link_args,
-        print_llvm_passes,
-        no_vectorize_loops,
-        no_vectorize_slp,
-        no_prepopulate_passes,
-        use_softfp,
-        gen_crate_map,
-        prefer_dynamic,
-        no_integrated_as,
-        lto
+        VERBOSE,
+        TIME_PASSES,
+        COUNT_LLVM_INSNS,
+        TIME_LLVM_PASSES,
+        TRANS_STATS,
+        ASM_COMMENTS,
+        NO_VERIFY,
+        BORROWCK_STATS,
+        NO_LANDING_PADS,
+        DEBUG_LLVM,
+        COUNT_TYPE_SIZES,
+        META_STATS,
+        NO_OPT,
+        GC,
+        DEBUG_INFO,
+        EXTRA_DEBUG_INFO,
+        PRINT_LINK_ARGS,
+        PRINT_LLVM_PASSES,
+        NO_VECTORIZE_LOOPS,
+        NO_VECTORIZE_SLP,
+        NO_PREPOPULATE_PASSES,
+        USE_SOFTFP,
+        GEN_CRATE_MAP,
+        PREFER_DYNAMIC,
+        NO_INTEGRATED_AS,
+        LTO
     ]
     0
 )
 
-pub fn debugging_opts_map() -> ~[(&'static str, &'static str, uint)] {
-    ~[("verbose", "in general, enable more debug printouts", verbose),
-     ("time-passes", "measure time of each rustc pass", time_passes),
+pub fn debugging_opts_map() -> ~[(&'static str, &'static str, u64)] {
+    ~[("verbose", "in general, enable more debug printouts", VERBOSE),
+     ("time-passes", "measure time of each rustc pass", TIME_PASSES),
      ("count-llvm-insns", "count where LLVM \
-                           instrs originate", count_llvm_insns),
+                           instrs originate", COUNT_LLVM_INSNS),
      ("time-llvm-passes", "measure time of each LLVM pass",
-      time_llvm_passes),
-     ("trans-stats", "gather trans statistics", trans_stats),
-     ("asm-comments", "generate comments into the assembly (may change behavior)", asm_comments),
-     ("no-verify", "skip LLVM verification", no_verify),
-     ("borrowck-stats", "gather borrowck statistics",  borrowck_stats),
+      TIME_LLVM_PASSES),
+     ("trans-stats", "gather trans statistics", TRANS_STATS),
+     ("asm-comments", "generate comments into the assembly (may change behavior)",
+      ASM_COMMENTS),
+     ("no-verify", "skip LLVM verification", NO_VERIFY),
+     ("borrowck-stats", "gather borrowck statistics",  BORROWCK_STATS),
      ("no-landing-pads", "omit landing pads for unwinding",
-      no_landing_pads),
-     ("debug-llvm", "enable debug output from LLVM", debug_llvm),
+      NO_LANDING_PADS),
+     ("debug-llvm", "enable debug output from LLVM", DEBUG_LLVM),
      ("count-type-sizes", "count the sizes of aggregate types",
-      count_type_sizes),
-     ("meta-stats", "gather metadata statistics", meta_stats),
-     ("no-opt", "do not optimize, even if -O is passed", no_opt),
-     ("print-link-args", "Print the arguments passed to the linker", print_link_args),
-     ("gc", "Garbage collect shared data (experimental)", gc),
+      COUNT_TYPE_SIZES),
+     ("meta-stats", "gather metadata statistics", META_STATS),
+     ("no-opt", "do not optimize, even if -O is passed", NO_OPT),
+     ("print-link-args", "Print the arguments passed to the linker",
+      PRINT_LINK_ARGS),
+     ("gc", "Garbage collect shared data (experimental)", GC),
      ("extra-debug-info", "Extra debugging info (experimental)",
-      extra_debug_info),
-     ("debug-info", "Produce debug info (experimental)", debug_info),
+      EXTRA_DEBUG_INFO),
+     ("debug-info", "Produce debug info (experimental)", DEBUG_INFO),
      ("print-llvm-passes",
       "Prints the llvm optimization passes being run",
-      print_llvm_passes),
+      PRINT_LLVM_PASSES),
      ("no-prepopulate-passes",
       "Don't pre-populate the pass managers with a list of passes, only use \
         the passes from --passes",
-      no_prepopulate_passes),
+      NO_PREPOPULATE_PASSES),
      ("no-vectorize-loops",
       "Don't run the loop vectorization optimization passes",
-      no_vectorize_loops),
-     ("no-vectorize-slp",
-      "Don't run LLVM's SLP vectorization passes",
-      no_vectorize_slp),
-     ("soft-float", "Generate software floating point library calls", use_softfp),
-     ("gen-crate-map", "Force generation of a toplevel crate map", gen_crate_map),
-     ("prefer-dynamic", "Prefer dynamic linking to static linking", prefer_dynamic),
+      NO_VECTORIZE_LOOPS),
+     ("no-vectorize-slp", "Don't run LLVM's SLP vectorization passes",
+      NO_VECTORIZE_SLP),
+     ("soft-float", "Generate software floating point library calls", USE_SOFTFP),
+     ("gen-crate-map", "Force generation of a toplevel crate map", GEN_CRATE_MAP),
+     ("prefer-dynamic", "Prefer dynamic linking to static linking", PREFER_DYNAMIC),
      ("no-integrated-as",
-      "Use external assembler rather than LLVM's integrated one", no_integrated_as),
-     ("lto", "Perform LLVM link-time optimizations", lto),
+      "Use external assembler rather than LLVM's integrated one", NO_INTEGRATED_AS),
+     ("lto", "Perform LLVM link-time optimizations", LTO),
     ]
 }
 
@@ -169,7 +170,7 @@ pub struct Options {
     parse_only: bool,
     no_trans: bool,
     no_analysis: bool,
-    debugging_opts: uint,
+    debugging_opts: u64,
     android_cross_path: Option<~str>,
     /// Whether to write dependency files. It's (enabled, optional filename).
     write_dependency_info: (bool, Option<Path>),
@@ -292,56 +293,56 @@ impl Session_ {
     pub fn diagnostic(&self) -> @diagnostic::SpanHandler {
         self.span_diagnostic
     }
-    pub fn debugging_opt(&self, opt: uint) -> bool {
-        (self.opts.debugging_opts & opt) != 0u
+    pub fn debugging_opt(&self, opt: u64) -> bool {
+        (self.opts.debugging_opts & opt) != 0
     }
     // This exists to help with refactoring to eliminate impossible
     // cases later on
     pub fn impossible_case(&self, sp: Span, msg: &str) -> ! {
         self.span_bug(sp, format!("Impossible case reached: {}", msg));
     }
-    pub fn verbose(&self) -> bool { self.debugging_opt(verbose) }
-    pub fn time_passes(&self) -> bool { self.debugging_opt(time_passes) }
+    pub fn verbose(&self) -> bool { self.debugging_opt(VERBOSE) }
+    pub fn time_passes(&self) -> bool { self.debugging_opt(TIME_PASSES) }
     pub fn count_llvm_insns(&self) -> bool {
-        self.debugging_opt(count_llvm_insns)
+        self.debugging_opt(COUNT_LLVM_INSNS)
     }
     pub fn count_type_sizes(&self) -> bool {
-        self.debugging_opt(count_type_sizes)
+        self.debugging_opt(COUNT_TYPE_SIZES)
     }
     pub fn time_llvm_passes(&self) -> bool {
-        self.debugging_opt(time_llvm_passes)
+        self.debugging_opt(TIME_LLVM_PASSES)
     }
-    pub fn trans_stats(&self) -> bool { self.debugging_opt(trans_stats) }
-    pub fn meta_stats(&self) -> bool { self.debugging_opt(meta_stats) }
-    pub fn asm_comments(&self) -> bool { self.debugging_opt(asm_comments) }
-    pub fn no_verify(&self) -> bool { self.debugging_opt(no_verify) }
-    pub fn borrowck_stats(&self) -> bool { self.debugging_opt(borrowck_stats) }
+    pub fn trans_stats(&self) -> bool { self.debugging_opt(TRANS_STATS) }
+    pub fn meta_stats(&self) -> bool { self.debugging_opt(META_STATS) }
+    pub fn asm_comments(&self) -> bool { self.debugging_opt(ASM_COMMENTS) }
+    pub fn no_verify(&self) -> bool { self.debugging_opt(NO_VERIFY) }
+    pub fn borrowck_stats(&self) -> bool { self.debugging_opt(BORROWCK_STATS) }
     pub fn print_llvm_passes(&self) -> bool {
-        self.debugging_opt(print_llvm_passes)
+        self.debugging_opt(PRINT_LLVM_PASSES)
     }
     pub fn no_prepopulate_passes(&self) -> bool {
-        self.debugging_opt(no_prepopulate_passes)
+        self.debugging_opt(NO_PREPOPULATE_PASSES)
     }
     pub fn no_vectorize_loops(&self) -> bool {
-        self.debugging_opt(no_vectorize_loops)
+        self.debugging_opt(NO_VECTORIZE_LOOPS)
     }
     pub fn no_vectorize_slp(&self) -> bool {
-        self.debugging_opt(no_vectorize_slp)
+        self.debugging_opt(NO_VECTORIZE_SLP)
     }
     pub fn gen_crate_map(&self) -> bool {
-        self.debugging_opt(gen_crate_map)
+        self.debugging_opt(GEN_CRATE_MAP)
     }
     pub fn prefer_dynamic(&self) -> bool {
-        self.debugging_opt(prefer_dynamic)
+        self.debugging_opt(PREFER_DYNAMIC)
     }
     pub fn no_integrated_as(&self) -> bool {
-        self.debugging_opt(no_integrated_as)
+        self.debugging_opt(NO_INTEGRATED_AS)
     }
     pub fn lto(&self) -> bool {
-        self.debugging_opt(lto)
+        self.debugging_opt(LTO)
     }
     pub fn no_landing_pads(&self) -> bool {
-        self.debugging_opt(no_landing_pads)
+        self.debugging_opt(NO_LANDING_PADS)
     }
 
     // pointless function, now...
@@ -387,7 +388,7 @@ pub fn basic_options() -> @Options {
         parse_only: false,
         no_trans: false,
         no_analysis: false,
-        debugging_opts: 0u,
+        debugging_opts: 0,
         android_cross_path: None,
         write_dependency_info: (false, None),
         print_metas: (false, false, false),