]> granicus.if.org Git - clang/commitdiff
Disabled operator= for ValueStateImpl.
authorTed Kremenek <kremenek@apple.com>
Wed, 6 Feb 2008 02:50:36 +0000 (02:50 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 6 Feb 2008 02:50:36 +0000 (02:50 +0000)
ValueState no longer inherits FoldingSetNode (not needed).
Removed redundant operator= implementation for ValueState (it simply did the default behavior).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46794 91177308-0d34-0410-b5e6-96231b3b80d8

Analysis/ValueState.h

index b452979e2ee2ac3fb76554fa83b96cc97ed73eb5..1067531f5bbe637a9a3a6b191b4bfdea8163cbe4 100644 (file)
@@ -125,7 +125,11 @@ namespace vstate {
 ///  for a "state" in our symbolic value tracking.  It is intended to be
 ///  used as a functional object; that is once it is created and made
 ///  "persistent" in a FoldingSet its values will never change.
-struct ValueStateImpl : public llvm::FoldingSetNode {
+class ValueStateImpl : public llvm::FoldingSetNode {
+private:
+  void operator=(const ValueStateImpl& R) const;
+
+public:
   vstate::VariableBindingsTy VariableBindings;
   vstate::ConstantNotEqTy    ConstantNotEq;
   vstate::ConstantEqTy       ConstantEq;
@@ -144,6 +148,8 @@ struct ValueStateImpl : public llvm::FoldingSetNode {
       ConstantNotEq(RHS.ConstantNotEq),
       ConstantEq(RHS.ConstantEq) {} 
   
+
+  
   /// Profile - Profile the contents of a ValueStateImpl object for use
   ///  in a FoldingSet.
   static void Profile(llvm::FoldingSetNodeID& ID, const ValueStateImpl& V) {
@@ -167,12 +173,11 @@ struct ValueStateImpl : public llvm::FoldingSetNode {
 ///  void* when being handled by GREngine.  It also forces us to unique states;
 ///  consequently, a ValueStateImpl* with a specific address will always refer
 ///  to the unique state with those values.
-class ValueState : public llvm::FoldingSetNode {
+class ValueState {
   ValueStateImpl* Data;
 public:
   ValueState(ValueStateImpl* D) : Data(D) {}
-  ValueState() : Data(0) {}  
-  void operator=(ValueStateImpl* D) { Data = D; }
+  ValueState() : Data(0) {}
   
   // Accessors.  
   ValueStateImpl* getImpl() const { return Data; }