forked from OSchip/llvm-project
[mlir] Fix gcc -std=c++17 compilation.
Ensure that `Handler` within the class is interpreted as the as the current template instantiation (instead the class template itself). Fixes #53447 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D120852
This commit is contained in:
parent
942c03910a
commit
1c941d98f8
|
@ -193,7 +193,8 @@ template <typename... ParameterTs> class DebugAction {
|
||||||
public:
|
public:
|
||||||
class Handler : public DebugActionManager::HandlerBase {
|
class Handler : public DebugActionManager::HandlerBase {
|
||||||
public:
|
public:
|
||||||
Handler() : HandlerBase(TypeID::get<Handler>()) {}
|
Handler()
|
||||||
|
: HandlerBase(TypeID::get<DebugAction<ParameterTs...>::Handler>()) {}
|
||||||
|
|
||||||
/// This hook allows for controlling whether an action should execute or
|
/// This hook allows for controlling whether an action should execute or
|
||||||
/// not. `parameters` correspond to the set of values provided by the
|
/// not. `parameters` correspond to the set of values provided by the
|
||||||
|
@ -205,7 +206,8 @@ public:
|
||||||
|
|
||||||
/// Provide classof to allow casting between handler types.
|
/// Provide classof to allow casting between handler types.
|
||||||
static bool classof(const DebugActionManager::HandlerBase *handler) {
|
static bool classof(const DebugActionManager::HandlerBase *handler) {
|
||||||
return handler->getHandlerID() == TypeID::get<Handler>();
|
return handler->getHandlerID() ==
|
||||||
|
TypeID::get<DebugAction<ParameterTs...>::Handler>();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue