From: Ilya Biryukov Date: Tue, 6 Feb 2018 16:32:36 +0000 (+0000) Subject: [clangd] Fixed compilation on Windows buildbot. X-Git-Tag: llvmorg-7.0.0-rc1~13564 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b9cf83b16f75ac4120c2f1a867ebe21315de13fa;p=platform%2Fupstream%2Fllvm.git [clangd] Fixed compilation on Windows buildbot. llvm-svn: 324361 --- diff --git a/clang-tools-extra/unittests/clangd/ThreadingTests.cpp b/clang-tools-extra/unittests/clangd/ThreadingTests.cpp index ffa1288..84e6512 100644 --- a/clang-tools-extra/unittests/clangd/ThreadingTests.cpp +++ b/clang-tools-extra/unittests/clangd/ThreadingTests.cpp @@ -17,7 +17,11 @@ class ThreadingTest : public ::testing::Test {}; 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 Lock(Mutex); ++Counter;