]> git.lizzy.rs Git - rust.git/commitdiff
Fix division-by-zero ICE in -Z perf-stats
authorvarkor <github@varkor.com>
Thu, 14 Dec 2017 14:19:57 +0000 (14:19 +0000)
committervarkor <github@varkor.com>
Thu, 14 Dec 2017 14:19:57 +0000 (14:19 +0000)
An invalid average now simply prints “N/A”. Fixes #46725.

src/librustc/session/mod.rs

index 36c1966bdc8348442b270216d1e71ddfe8f46a08..85e24b167522de1dc6020f94d945545e07d72176 100644 (file)
@@ -635,9 +635,13 @@ pub fn print_perf_stats(&self) {
                  self.perf_stats.incr_comp_hashes_count.get());
         println!("Total number of bytes hashed for incr. comp.:  {}",
                  self.perf_stats.incr_comp_bytes_hashed.get());
-        println!("Average bytes hashed per incr. comp. HIR node: {}",
-                 self.perf_stats.incr_comp_bytes_hashed.get() /
-                 self.perf_stats.incr_comp_hashes_count.get());
+        if self.perf_stats.incr_comp_hashes_count.get() != 0 {
+            println!("Average bytes hashed per incr. comp. HIR node: {}",
+                    self.perf_stats.incr_comp_bytes_hashed.get() /
+                    self.perf_stats.incr_comp_hashes_count.get());
+        } else {
+            println!("Average bytes hashed per incr. comp. HIR node: N/A");
+        }
         println!("Total time spent computing symbol hashes:      {}",
                  duration_to_secs_str(self.perf_stats.symbol_hash_time.get()));
         println!("Total time spent decoding DefPath tables:      {}",