From a609f564b7b63897d05291e64e6e9813bbf382dd Mon Sep 17 00:00:00 2001 From: Alex Zinenko Date: Tue, 11 Oct 2022 10:55:51 +0000 Subject: [PATCH] [mlir] use raw function pointer instead of std::function Accessing the target of std::function apparently requires RTTI, use a raw pointer instead. --- mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h | 2 +- mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h index 80ff80e..e386b35 100644 --- a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h +++ b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h @@ -212,7 +212,7 @@ void TransformDialect::addTypeIfNotRegistered() { auto [it, inserted] = typeParsingHooks.try_emplace(mnemonic, Type::parse); if (!inserted) { const ExtensionTypeParsingHook &parsingHook = it->getValue(); - if (*parsingHook.target() != &Type::parse) + if (parsingHook != &Type::parse) reportDuplicateTypeRegistration(mnemonic); else return; diff --git a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td index bdb28f9..cf5072b 100644 --- a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td +++ b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td @@ -324,8 +324,7 @@ def Transform_Dialect : Dialect { /// Parser callback for an individual type registered by this dialect or /// its extensions. - using ExtensionTypeParsingHook = - std::function<::mlir::Type (::mlir::AsmParser &)>; + using ExtensionTypeParsingHook = ::mlir::Type (*)(::mlir::AsmParser &); /// Printer callback for an individual type registered by this dialect or /// its extensions. -- 2.7.4