--- a/webrtc/base/checks.cc
+++ b/webrtc/base/checks.cc
@@ -16,7 +16,7 @@
 #include <cstdio>
 #include <cstdlib>
 
-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
+#if defined(__GLIBCXX__) && !defined(__UCLIBC__) && !defined(_WIN32)
 #include <cxxabi.h>
 #include <execinfo.h>
 #endif
@@ -55,7 +55,7 @@
 // to get usable symbols on Linux. This is copied from V8. Chromium has a more
 // advanced stace trace system; also more difficult to copy.
 void DumpBacktrace() {
-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
+#if defined(__GLIBCXX__) && !defined(__UCLIBC__) && !defined(_WIN32)
   void* trace[100];
   int size = backtrace(trace, sizeof(trace) / sizeof(*trace));
   char** symbols = backtrace_symbols(trace, size);
--- a/webrtc/base/platform_thread.cc
+++ b/webrtc/base/platform_thread.cc
@@ -59,7 +59,7 @@
 
 void SetCurrentThreadName(const char* name) {
   RTC_DCHECK(strlen(name) < 64);
-#if defined(WEBRTC_WIN)
+#if defined(WEBRTC_WIN) && defined(_MSC_VER)
   struct {
     DWORD dwType;
     LPCSTR szName;
--- a/webrtc/base/stringutils.h
+++ b/webrtc/base/stringutils.h
@@ -19,7 +19,6 @@
 #if defined(WEBRTC_WIN)
 #include <malloc.h>
 #include <wchar.h>
-#define alloca _alloca
 #endif  // WEBRTC_WIN 
 
 #if defined(WEBRTC_POSIX)
