[NFC] Fix Windows builds that use MSVC 14.x
authorRahul Joshi <jurahul@google.com>
Thu, 23 Mar 2023 23:06:37 +0000 (16:06 -0700)
committerRahul Joshi <jurahul@google.com>
Fri, 24 Mar 2023 02:16:44 +0000 (19:16 -0700)
Differential Revision: https://reviews.llvm.org/D146769

mlir/lib/IR/AffineMap.cpp

index 9ac181f..6c9034d 100644 (file)
@@ -744,13 +744,18 @@ static AffineMap projectCommonImpl(AffineMap map,
   replacements.reserve(numDimOrSym);
 
   auto createNewDimOrSym = (isDim) ? getAffineDimExpr : getAffineSymbolExpr;
-  auto replaceDims = [](AffineExpr e, ArrayRef<AffineExpr> replacements) {
+
+  using replace_fn_ty =
+      std::function<AffineExpr(AffineExpr, ArrayRef<AffineExpr>)>;
+  replace_fn_ty replaceDims = [](AffineExpr e,
+                                 ArrayRef<AffineExpr> replacements) {
     return e.replaceDims(replacements);
   };
-  auto replaceSymbols = [](AffineExpr e, ArrayRef<AffineExpr> replacements) {
+  replace_fn_ty replaceSymbols = [](AffineExpr e,
+                                    ArrayRef<AffineExpr> replacements) {
     return e.replaceSymbols(replacements);
   };
-  auto replaceNewDimOrSym = (isDim) ? replaceDims : replaceSymbols;
+  replace_fn_ty replaceNewDimOrSym = (isDim) ? replaceDims : replaceSymbols;
 
   MLIRContext *context = map.getContext();
   int64_t newNumDimOrSym = 0;