[Mlir-commits] [mlir] 2141705 - Fix operator!= for Dialects.
    Mehdi Amini 
    llvmlistbot at llvm.org
       
    Thu Sep 10 12:18:35 PDT 2020
    
    
  
Author: Federico Lebrón
Date: 2020-09-10T19:18:24Z
New Revision: 2141705337989195b448e292955f08884babbcbd
URL: https://github.com/llvm/llvm-project/commit/2141705337989195b448e292955f08884babbcbd
DIFF: https://github.com/llvm/llvm-project/commit/2141705337989195b448e292955f08884babbcbd.diff
LOG: Fix operator!= for Dialects.
Currently the global operator!=(bool, bool) is selected due to the implicit bool
conversion operator. Since this is never the desired semantics, we give it a
standard operator!= and make the bool conversion explicit.
Depends On D86809
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D86810
Added: 
    
Modified: 
    mlir/include/mlir/TableGen/Dialect.h
Removed: 
    
################################################################################
diff  --git a/mlir/include/mlir/TableGen/Dialect.h b/mlir/include/mlir/TableGen/Dialect.h
index 623d614d26d3..ee86a2504b3c 100644
--- a/mlir/include/mlir/TableGen/Dialect.h
+++ b/mlir/include/mlir/TableGen/Dialect.h
@@ -67,11 +67,13 @@ class Dialect {
   // underlying record.
   bool operator==(const Dialect &other) const;
 
+  bool operator!=(const Dialect &other) const { return !(*this == other); }
+
   // Compares two dialects by comparing the names of the dialects.
   bool operator<(const Dialect &other) const;
 
   // Returns whether the dialect is defined.
-  operator bool() const { return def != nullptr; }
+  explicit operator bool() const { return def != nullptr; }
 
 private:
   const llvm::Record *def;
        
    
    
More information about the Mlir-commits
mailing list