[mlir] Explicitly qualify Effect to avoid MSVC build failure
authorRiver Riddle <riddleriver@gmail.com>
Sat, 7 Mar 2020 03:18:13 +0000 (19:18 -0800)
committerRiver Riddle <riddleriver@gmail.com>
Sat, 7 Mar 2020 03:18:13 +0000 (19:18 -0800)
MSVC qualifies the Effect reference contextually depending on where the
template is instantiated, leading to compiler failures if there is a
different Effect class defined.

mlir/include/mlir/IR/OpDefinition.h

index fe94f25..a279843 100644 (file)
@@ -1301,7 +1301,7 @@ public:
     static ClassID *getEffectID() { return ClassID::getID<DerivedEffect>(); }
 
     /// 'classof' used to support llvm style cast functionality.
-    static bool classof(const Effect *effect) {
+    static bool classof(const ::mlir::SideEffects::Effect *effect) {
       return effect->getEffectID() == BaseT::getEffectID();
     }