diff --git a/base/mac/scoped_nsobject.h b/base/mac/scoped_nsobject.h
index 2e157a4..5a306a1 100644
--- a/base/mac/scoped_nsobject.h
+++ b/base/mac/scoped_nsobject.h
@@ -11,6 +11,7 @@
 
 #include "base/compiler_specific.h"
 #include "base/mac/scoped_typeref.h"
+#include "base/template_util.h"
 
 namespace base {
 
@@ -55,7 +56,7 @@ class scoped_nsobject : public scoped_nsprotocol<NST*> {
  public:
   using scoped_nsprotocol<NST*>::scoped_nsprotocol;
 
-  static_assert(std::is_same<NST, NSAutoreleasePool>::value == false,
+  static_assert(is_same<NST, NSAutoreleasePool>::value == false,
                 "Use ScopedNSAutoreleasePool instead");
 };
 
diff --git a/base/macros.h b/base/macros.h
index 5d96783..096704c 100644
--- a/base/macros.h
+++ b/base/macros.h
@@ -42,8 +42,9 @@ char (&ArraySizeHelper(const T (&array)[N]))[N];
 
 template <typename Dest, typename Source>
 inline Dest bit_cast(const Source& source) {
+#if __cplusplus >= 201103L
   static_assert(sizeof(Dest) == sizeof(Source), "sizes must be equal");
-
+#endif
   Dest dest;
   memcpy(&dest, &source, sizeof(dest));
   return dest;
diff --git a/build/common.gypi b/build/common.gypi
index 1affc70..6e8f292 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -66,6 +66,11 @@
           'conditions': [
             ['clang!=0', {
               'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',  # -std=c++11
+              'conditions': [
+                ['mac_deployment_target=="10.8"', {
+                  'CLANG_CXX_LIBRARY': 'libc++',  # force -stdlib=libc++ for 10.8
+                }]
+              ],
 
               # Don't link in libarclite_macosx.a, see http://crbug.com/156530.
               'CLANG_LINK_OBJC_RUNTIME': 'NO',      # -fno-objc-link-runtime