Fixed compiling on Mac 10.9.3 with g++-4.8, clang or system c++
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 06de886..53731c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,7 @@
 ExternalProject_Add(googletest
     URL "https://googletest.googlecode.com/files/gtest-1.7.0.zip"
     SOURCE_DIR "${CMAKE_BINARY_DIR}/third_party/gtest"
+    CMAKE_ARGS "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
     INSTALL_COMMAND "")
 ExternalProject_Get_Property(googletest source_dir)
 include_directories(${source_dir}/include)
diff --git a/src/benchmark.cc b/src/benchmark.cc
index 715a67d..0659a5c 100644
--- a/src/benchmark.cc
+++ b/src/benchmark.cc
@@ -390,19 +390,20 @@
     if (family->rangeX_.empty() && family->rangeY_.empty()) {
       instances = family->CreateBenchmarkInstances(
         Benchmark::kNoRange, Benchmark::kNoRange);
-      benchmarks->insert(benchmarks->end(), instances.begin(), instances.end());
+      std::copy(instances.begin(), instances.end(),
+                std::back_inserter(*benchmarks));
     } else if (family->rangeY_.empty()) {
       for (size_t x = 0; x < family->rangeX_.size(); ++x) {
         instances = family->CreateBenchmarkInstances(x, Benchmark::kNoRange);
-        benchmarks->insert(benchmarks->end(), instances.begin(),
-                           instances.end());
+        std::copy(instances.begin(), instances.end(),
+                  std::back_inserter(*benchmarks));
       }
     } else {
       for (size_t x = 0; x < family->rangeX_.size(); ++x) {
         for (size_t y = 0; y < family->rangeY_.size(); ++y) {
           instances = family->CreateBenchmarkInstances(x, y);
-          benchmarks->insert(benchmarks->end(), instances.begin(),
-                             instances.end());
+          std::copy(instances.begin(), instances.end(),
+                    std::back_inserter(*benchmarks));
         }
       }
     }
diff --git a/src/sysinfo.cc b/src/sysinfo.cc
index 7653dde..5ff06e1 100644
--- a/src/sysinfo.cc
+++ b/src/sysinfo.cc
@@ -36,13 +36,14 @@
 
 namespace benchmark {
 namespace {
-const int64_t estimate_time_ms = 1000;
 pthread_once_t cpuinfo_init = PTHREAD_ONCE_INIT;
 double cpuinfo_cycles_per_second = 1.0;
 int cpuinfo_num_cpus = 1;  // Conservative guess
 pthread_mutex_t cputimens_mutex;
 
 #if !defined OS_MACOSX
+const int64_t estimate_time_ms = 1000;
+
 // Helper function estimates cycles/sec by observing cycles elapsed during
 // sleep(). Using small sleep time decreases accuracy significantly.
 int64_t EstimateCyclesPerSecond() {