Fix some of the bazel Windows tools code to work with GCC.
This fixes bazel build failures on Windows when using MinGW GCC instead of MSVC for building C++.
Closes #10216.
PiperOrigin-RevId: 281278442
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