Inline a string used in lambda function to fix capture error
authorLei Zhang <antiagainst@google.com>
Tue, 7 May 2019 21:03:15 +0000 (14:03 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Sat, 11 May 2019 02:23:49 +0000 (19:23 -0700)
    The string was referenced but not captured in the lambda, which causes
    a failure when compiling with MSVC.

    This issue was discovered by @loic-joly-sonarsource with a proposed fix
    in https://github.com/tensorflow/mlir/pull/22.

--

PiperOrigin-RevId: 247085897

mlir/lib/Transforms/Vectorization/VectorizerTestPass.cpp

index ecb391c..753f7cf 100644 (file)
@@ -145,13 +145,12 @@ static std::string toString(Operation *op) {
 }
 
 static NestedPattern patternTestSlicingOps() {
-  // Just use a custom op name for this test, it makes life easier.
-  constexpr auto kTestSlicingOpName = "slicing-test-op";
   using functional::map;
   using matcher::Op;
   // Match all operations with the kTestSlicingOpName name.
   auto filter = [](Operation &op) {
-    return op.getName().getStringRef() == kTestSlicingOpName;
+    // Just use a custom op name for this test, it makes life easier.
+    return op.getName().getStringRef() == "slicing-test-op";
   };
   return Op(filter);
 }