[clang-tools-extra] r324361 - [clangd] Fixed compilation on Windows buildbot.

Ilya Biryukov via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 6 08:32:36 PST 2018


Author: ibiryukov
Date: Tue Feb  6 08:32:36 2018
New Revision: 324361

URL: http://llvm.org/viewvc/llvm-project?rev=324361&view=rev
Log:
[clangd] Fixed compilation on Windows buildbot.

Modified:
    clang-tools-extra/trunk/unittests/clangd/ThreadingTests.cpp

Modified: clang-tools-extra/trunk/unittests/clangd/ThreadingTests.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/clangd/ThreadingTests.cpp?rev=324361&r1=324360&r2=324361&view=diff
==============================================================================
--- clang-tools-extra/trunk/unittests/clangd/ThreadingTests.cpp (original)
+++ clang-tools-extra/trunk/unittests/clangd/ThreadingTests.cpp Tue Feb  6 08:32:36 2018
@@ -17,7 +17,11 @@ class ThreadingTest : public ::testing::
 
 TEST_F(ThreadingTest, TaskRunner) {
   const int TasksCnt = 100;
-  const int IncrementsPerTask = 1000;
+  // This should be const, but MSVC does not allow to use const vars in lambdas
+  // without capture. On the other hand, clang gives a warning that capture of
+  // const var is not required.
+  // Making it non-const makes both compilers happy.
+  int IncrementsPerTask = 1000;
 
   std::mutex Mutex;
   int Counter(0); /* GUARDED_BY(Mutex) */
@@ -25,7 +29,7 @@ TEST_F(ThreadingTest, TaskRunner) {
     AsyncTaskRunner Tasks;
     auto scheduleIncrements = [&]() {
       for (int TaskI = 0; TaskI < TasksCnt; ++TaskI) {
-        Tasks.runAsync([&Counter, &Mutex]() {
+        Tasks.runAsync([&Counter, &Mutex, IncrementsPerTask]() {
           for (int Increment = 0; Increment < IncrementsPerTask; ++Increment) {
             std::lock_guard<std::mutex> Lock(Mutex);
             ++Counter;




More information about the cfe-commits mailing list