[cfe-commits] r46100 - /cfe/trunk/Analysis/GRConstants.cpp
Ted Kremenek
kremenek at apple.com
Wed Jan 16 15:33:45 PST 2008
Author: kremenek
Date: Wed Jan 16 17:33:44 2008
New Revision: 46100
URL: http://llvm.org/viewvc/llvm-project?rev=46100&view=rev
Log:
Changed sorting criteria for DSPtr to sort Decl* before Expr*, and
to sort sub-expressions before Block-level expressions.
Modified:
cfe/trunk/Analysis/GRConstants.cpp
Modified: cfe/trunk/Analysis/GRConstants.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Analysis/GRConstants.cpp?rev=46100&r1=46099&r2=46100&view=diff
==============================================================================
--- cfe/trunk/Analysis/GRConstants.cpp (original)
+++ cfe/trunk/Analysis/GRConstants.cpp Wed Jan 16 17:33:44 2008
@@ -47,7 +47,7 @@
class VISIBILITY_HIDDEN DSPtr {
uintptr_t Raw;
public:
- enum VariantKind { IsValueDecl=0x1, IsBlkLvl=0x2, IsSubExp=0x3, Flags=0x3 };
+ enum VariantKind { IsValueDecl=0x0, IsSubExp=0x1, IsBlkLvl=0x2, Flags=0x3 };
inline void* getPtr() const { return reinterpret_cast<void*>(Raw & ~Flags); }
inline VariantKind getKind() const { return (VariantKind) (Raw & Flags); }
@@ -63,7 +63,10 @@
}
inline bool operator==(const DSPtr& X) const { return Raw == X.Raw; }
inline bool operator!=(const DSPtr& X) const { return Raw != X.Raw; }
- inline bool operator<(const DSPtr& X) const { return Raw < X.Raw; }
+ inline bool operator<(const DSPtr& X) const {
+ VariantKind k = getKind(), Xk = X.getKind();
+ return k == Xk ? getPtr() < X.getPtr() : k < Xk;
+ }
};
} // end anonymous namespace
More information about the cfe-commits
mailing list