[cfe-commits] Fwd: Compare two DeclGroupRefs

Vassil Vassilev vasil.georgiev.vasilev at cern.ch
Wed Jul 18 04:16:18 PDT 2012


ping...


-------- Original Message --------
Subject: 	Compare two DeclGroupRefs
Date: 	Mon, 16 Jul 2012 10:01:22 +0200
From: 	Vassil Vassilev <vasil.georgiev.vasilev at cern.ch>
To: 	cfe-dev at cs.uiuc.edu <cfe-dev at cs.uiuc.edu>



Hello devs,
   I need to compare two clang::DeclGroupRefs. Could somebody have a
look into that patch and see whether I am doing it right?
Thanks a lot!
Vassil

Index: ../clang/include/clang/AST/DeclGroup.h
===================================================================
--- ../clang/include/clang/AST/DeclGroup.h    (revision 160041)
+++ ../clang/include/clang/AST/DeclGroup.h    (working copy)
@@ -128,6 +128,29 @@
      X.D = static_cast<Decl*>(Ptr);
      return X;
    }
+
+  /// operator== - Determine whether the specified DeclGroupRefs are
identical.
+  ///
+  friend bool operator==(const DeclGroupRef LHS, const DeclGroupRef RHS) {
+    if (LHS.D == RHS.D) {
+      if (LHS.isSingleDecl() && RHS.isSingleDecl())
+        return true;
+
+      if (LHS.isDeclGroup() && RHS.isDeclGroup()){
+        const DeclGroup &LDG = LHS.getDeclGroup();
+        const DeclGroup &RDG = RHS.getDeclGroup();
+        if (LDG.size() != RDG.size())
+          return false;
+
+        for (size_t i = 0; i < LDG.size(); ++i)
+          if (LDG[i] != RDG[i])
+            return false;
+
+        return true;
+      }
+    }
+    return false;
+  }
  };

  } // end clang namespace




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120718/18c24430/attachment.html>


More information about the cfe-commits mailing list