folly: move side effects out of EXPECT_EQ args
authorJim Meyering <meyering@fb.com>
Fri, 13 Feb 2015 19:06:37 +0000 (11:06 -0800)
committerAlecs King <int@fb.com>
Tue, 3 Mar 2015 03:20:09 +0000 (19:20 -0800)
Summary:
This avoids warnings about e.g., sizeof(k++) that result
from macro expansion.
* folly/futures/test/ExecutorTest.cpp: Move increment out
of macro argument list.
* folly/test/FBVectorTestBenchmarks.cpp.h: Likewise.
* folly/test/LazyTest.cpp: Likewise.
Otherwise, we'd get errors like this:

folly/test/LazyTest.cpp:49:118: error: expression with side effects has no effect in an unevaluated context [-Werror,-Wunevaluated-expression]
switch (0) case 0: default: if (const ::testing::AssertionResult gtest_ar = (::testing::internal:: EqHelper<(sizeof(::testing::internal::IsNullLiteralHelper(++globalCount())) == 1)>::Compare("++globalCount()", "1", ++globalCount(), 1))) ; else ::testing::internal::AssertHelper(::testing::TestPartResult::kNonFatalFailure, "folly/test/LazyTest.cpp", 49, gtest_ar.failure_message()) = ::testing::Message();
^

Test Plan:
Run these commands and note there are fewer errors than before:
fbconfig --clang --with-project-version=clang:dev -r folly && fbmake dbgo

Reviewed By: njormrod@fb.com

Subscribers: folly-diffs@, jsedgwick, yfeldblum

FB internal diff: D1848324

Tasks: 6244745

Signature: t1:1848324:1423860890:bce44c5e0895804a21957893ae6b78e76dfbc4d3

folly/futures/test/ExecutorTest.cpp
folly/test/FBVectorTestBenchmarks.cpp.h
folly/test/LazyTest.cpp

index a9bfef4b6f033537c7021a2df5f4281321c94327..bda05b4db45a391377b2ff76ee56d5c05e770876 100644 (file)
@@ -112,9 +112,11 @@ TEST(Executor, InlineExecutor) {
   size_t counter = 0;
   x.add([&]{
     x.add([&]{
-      EXPECT_EQ(counter++, 0);
+      EXPECT_EQ(counter, 0);
+      counter++;
     });
-    EXPECT_EQ(counter++, 1);
+    EXPECT_EQ(counter, 1);
+    counter++;
   });
   EXPECT_EQ(counter, 2);
 }
@@ -124,9 +126,11 @@ TEST(Executor, QueuedImmediateExecutor) {
   size_t counter = 0;
   x.add([&]{
     x.add([&]{
-      EXPECT_EQ(1, counter++);
+      EXPECT_EQ(1, counter);
+      counter++;
     });
-    EXPECT_EQ(0, counter++);
+    EXPECT_EQ(0, counter);
+    counter++;
   });
   EXPECT_EQ(2, counter);
 }
index 57bf5dab350a1ecd81a359e65825105072121831..442b9fb1a6e700d4ef0d3b4a2f1aad254254bc2f 100644 (file)
@@ -47,7 +47,8 @@ TESTFUN(clause_23_3_6_1_9) {
   EXPECT_EQ(v.size(), lst.size());
   size_t j = 0;
   FOR_EACH (i, lst) {
-    EXPECT_EQ(v[j++], *i);
+    EXPECT_EQ(v[j], *i);
+    j++;
   }
 }
 
@@ -63,7 +64,8 @@ TESTFUN(clause_23_3_6_1_11) {
   EXPECT_EQ(v.size(), lst.size());
   size_t j = 0;
   FOR_EACH (i, lst) {
-    EXPECT_EQ(v[j++], *i);
+    EXPECT_EQ(v[j], *i);
+    j++;
   }
 
   // aliased assign
@@ -72,7 +74,8 @@ TESTFUN(clause_23_3_6_1_11) {
   j = 0;
   FOR_EACH (i, lst) {
     if (j == v.size()) break;
-    EXPECT_EQ(v[j++], *i);
+    EXPECT_EQ(v[j], *i);
+    j++;
   }
 }
 
index 712435a1021e0ced0bb3ce1f2b38e1cccbd3e988..cf5492ff6a010369edbb1ff26f9e741d14ec5bc7 100644 (file)
@@ -27,7 +27,8 @@ TEST(Lazy, Simple) {
   int computeCount = 0;
 
   auto const val = folly::lazy([&]() -> int {
-    EXPECT_EQ(++computeCount, 1);
+    ++computeCount;
+    EXPECT_EQ(computeCount, 1);
     return 12;
   });
   EXPECT_EQ(computeCount, 0);
@@ -46,7 +47,8 @@ TEST(Lazy, Simple) {
 
 auto globalCount = folly::lazy([]{ return 0; });
 auto const foo = folly::lazy([]() -> std::string {
-  EXPECT_EQ(++globalCount(), 1);
+  ++globalCount();
+  EXPECT_EQ(globalCount(), 1);
   return std::string("YEP");
 });