diff --git a/src/main/native/windows/file.cc b/src/main/native/windows/file.cc
index cc79ead..5dab781 100644
--- a/src/main/native/windows/file.cc
+++ b/src/main/native/windows/file.cc
@@ -686,12 +686,14 @@
   typedef std::basic_string<C> Str;
   static const Str kDot(1, '.');
   static const Str kDotDot(2, '.');
-  std::vector<std::pair<Str::size_type, Str::size_type> > segments;
-  Str::size_type seg_start = Str::npos;
+  std::vector<std::pair<typename Str::size_type, typename Str::size_type> >
+      segments;
+  typename Str::size_type seg_start = Str::npos;
   bool first = true;
   bool abs = false;
   bool starts_with_dot = false;
-  for (Str::size_type i = HasUncPrefix(p.c_str()) ? 4 : 0; i <= p.size(); ++i) {
+  for (typename Str::size_type i = HasUncPrefix(p.c_str()) ? 4 : 0;
+       i <= p.size(); ++i) {
     if (seg_start == Str::npos) {
       if (i < p.size() && p[i] != '/' && p[i] != '\\') {
         seg_start = i;
@@ -699,7 +701,7 @@
     } else {
       if (i == p.size() || (p[i] == '/' || p[i] == '\\')) {
         // The current character ends a segment.
-        Str::size_type len = i - seg_start;
+        typename Str::size_type len = i - seg_start;
         if (first) {
           first = false;
           abs = len == 2 &&
diff --git a/src/main/native/windows/sleep_prevention_jni.cc b/src/main/native/windows/sleep_prevention_jni.cc
index b6d9b9f..3911d1e 100644
--- a/src/main/native/windows/sleep_prevention_jni.cc
+++ b/src/main/native/windows/sleep_prevention_jni.cc
@@ -25,7 +25,7 @@
 #include "src/main/native/jni.h"
 
 // Keep track of our pushes and pops of sleep state.
-static std::atomic_int g_sleep_stack = 0;
+static std::atomic_int g_sleep_stack{0};
 
 /*
  * Class:     com_google_devtools_build_lib_platform_SleepPreventionModule_SleepPrevention
