versioner: start using C++17.

Bug: None
Test: python run_tests.py
Change-Id: I10101d26b7816a83445f25b33b97ed47d42fd135
diff --git a/tools/versioner/src/versioner.cpp b/tools/versioner/src/versioner.cpp
index 6c287d9..e39bec0 100644
--- a/tools/versioner/src/versioner.cpp
+++ b/tools/versioner/src/versioner.cpp
@@ -382,8 +382,8 @@
     const std::string& symbol_name = it.first;
 
     bool symbol_error = false;
-    auto missing_it = missing_availability.find(symbol_name);
-    if (missing_it != missing_availability.end()) {
+    if (auto missing_it = missing_availability.find(symbol_name);
+        missing_it != missing_availability.end()) {
       printf("%s: declaration marked available but symbol missing in [%s]\n", symbol_name.c_str(),
              Join(missing_it->second, ", ").c_str());
       symbol_error = true;
@@ -391,8 +391,8 @@
     }
 
     if (strict) {
-      auto extra_it = extra_availability.find(symbol_name);
-      if (extra_it != extra_availability.end()) {
+      if (auto extra_it = extra_availability.find(symbol_name);
+          extra_it != extra_availability.end()) {
         printf("%s: declaration marked unavailable but symbol available in [%s]\n",
                symbol_name.c_str(), Join(extra_it->second, ", ").c_str());
         symbol_error = true;
@@ -401,11 +401,12 @@
     }
 
     if (symbol_error) {
-      auto symbol_it = header_database->symbols.find(symbol_name);
-      if (symbol_it == header_database->symbols.end()) {
+      if (auto symbol_it = header_database->symbols.find(symbol_name);
+          symbol_it != header_database->symbols.end()) {
+        symbol_it->second.dump(cwd);
+      } else {
         errx(1, "failed to find symbol in header database");
       }
-      symbol_it->second.dump(cwd);
     }
   }