From c046205c2fc1ff43b62fc48b269fab3d93bf0460 Mon Sep 17 00:00:00 2001
From: Lucian Grijincu <lucian@fb.com>
Date: Mon, 1 Feb 2016 15:19:55 -0800
Subject: [PATCH] folly: ubsan: Benchmark: avoid division by zero
 (fsanitize=float-divide-by-zero)

Reviewed By: philippv

Differential Revision: D2886132

fb-gh-sync-id: a845d657fb920847df52fe5ec077e91554544f5b
---
 folly/Benchmark.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/folly/Benchmark.cpp b/folly/Benchmark.cpp
index 627972ab..b1296aa7 100644
--- a/folly/Benchmark.cpp
+++ b/folly/Benchmark.cpp
@@ -397,7 +397,9 @@ static void printBenchmarkResultsAsTable(
     s.resize(columns - 29, ' ');
     auto nsPerIter = get<2>(datum);
     auto secPerIter = nsPerIter / 1E9;
-    auto itersPerSec = 1 / secPerIter;
+    auto itersPerSec = (secPerIter == 0)
+                           ? std::numeric_limits<double>::infinity()
+                           : (1 / secPerIter);
     if (!useBaseline) {
       // Print without baseline
       printf("%*s           %9s  %7s\n",
-- 
2.34.1