[clang-format] Fix build on gcc < 7 introduced in rG9363aa9.
authorMarek Kurdej <marek.kurdej+llvm.org@gmail.com>
Thu, 29 Apr 2021 08:06:46 +0000 (10:06 +0200)
committerMarek Kurdej <marek.kurdej+llvm.org@gmail.com>
Thu, 29 Apr 2021 08:07:04 +0000 (10:07 +0200)
This fixes another bogus build error on gcc, e.g. https://lab.llvm.org/buildbot/#/builders/110/builds/2974.

/home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/clang/lib/Format/TokenAnnotator.cpp:3412:34: error: binding ‘const clang::format::FormatStyle’ to reference of type ‘clang::format::FormatStyle&’ discards qualifiers
   auto ShouldAddSpacesInAngles = [&Style = this->Style,
                                  ^

clang/lib/Format/TokenAnnotator.cpp

index 3fe62bc..719bb3f 100755 (executable)
@@ -3409,11 +3409,10 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
     return Style.SpaceAfterCStyleCast ||
            Right.isOneOf(TT_BinaryOperator, TT_SelectorName);
 
-  auto ShouldAddSpacesInAngles = [&Style = this->Style,
-                                  &HasExistingWhitespace]() {
-    if (Style.SpacesInAngles == FormatStyle::SIAS_Always)
+  auto ShouldAddSpacesInAngles = [this, &HasExistingWhitespace]() {
+    if (this->Style.SpacesInAngles == FormatStyle::SIAS_Always)
       return true;
-    if (Style.SpacesInAngles == FormatStyle::SIAS_Leave)
+    if (this->Style.SpacesInAngles == FormatStyle::SIAS_Leave)
       return HasExistingWhitespace();
     return false;
   };