A core-cached shared_ptr
[folly.git] / folly / test / LifoSemTests.cpp
index 71889c402b739511ce682b658bcc5f8bd1c990fb..69e69eeebd0ffcf6ed974210e0910acbc51b5c2c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include <semaphore.h>
 #include <thread>
 
-#include <gtest/gtest.h>
-
 #include <folly/Benchmark.h>
 #include <folly/Random.h>
+#include <folly/portability/Asm.h>
 #include <folly/portability/GFlags.h>
+#include <folly/portability/GTest.h>
 #include <folly/test/DeterministicSchedule.h>
 
 using namespace folly;
@@ -196,7 +196,7 @@ TEST(LifoSem, shutdown_race) {
           a.wait();
           ++waitCount;
         }
-      } catch (ShutdownSemError& x) {
+      } catch (ShutdownSemError&) {
         // expected
         EXPECT_TRUE(a.isShutdown());
       }
@@ -228,7 +228,7 @@ TEST(LifoSem, shutdown_multi) {
         try {
           a.wait();
           EXPECT_TRUE(false);
-        } catch (ShutdownSemError& x) {
+        } catch (ShutdownSemError&) {
           // expected
           EXPECT_TRUE(a.isShutdown());
         }
@@ -319,7 +319,7 @@ BENCHMARK(single_thread_lifo_post, iters) {
   LifoSem sem;
   for (size_t n = 0; n < iters; ++n) {
     sem.post();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -327,7 +327,7 @@ BENCHMARK(single_thread_lifo_wait, iters) {
   LifoSem sem(iters);
   for (size_t n = 0; n < iters; ++n) {
     sem.wait();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -335,9 +335,9 @@ BENCHMARK(single_thread_lifo_postwait, iters) {
   LifoSem sem;
   for (size_t n = 0; n < iters; ++n) {
     sem.post();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
     sem.wait();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -345,7 +345,7 @@ BENCHMARK(single_thread_lifo_trywait, iters) {
   LifoSem sem;
   for (size_t n = 0; n < iters; ++n) {
     EXPECT_FALSE(sem.tryWait());
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -368,7 +368,7 @@ BENCHMARK(single_thread_posix_trywait, iters) {
   EXPECT_EQ(sem_destroy(&sem), 0);
 }
 
-static void contendedUse(uint n, int posters, int waiters) {
+static void contendedUse(uint32_t n, int posters, int waiters) {
   LifoSemImpl<std::atomic> sem;
 
   std::vector<std::thread> threads;
@@ -377,7 +377,7 @@ static void contendedUse(uint n, int posters, int waiters) {
   BENCHMARK_SUSPEND {
     for (int t = 0; t < waiters; ++t) {
       threads.emplace_back([=,&sem] {
-        for (uint i = t; i < n; i += waiters) {
+        for (uint32_t i = t; i < n; i += waiters) {
           sem.wait();
         }
       });
@@ -387,7 +387,7 @@ static void contendedUse(uint n, int posters, int waiters) {
         while (!go.load()) {
           std::this_thread::yield();
         }
-        for (uint i = t; i < n; i += posters) {
+        for (uint32_t i = t; i < n; i += posters) {
           sem.post();
         }
       });