[llvm-commits] CVS: llvm/include/llvm/Type.h AbstractTypeUser.h

Chris Lattner lattner at cs.uiuc.edu
Wed Jul 14 13:10:36 PDT 2004



Changes in directory llvm/include/llvm:

Type.h updated: 1.53 -> 1.54
AbstractTypeUser.h updated: 1.20 -> 1.21

---
Log message:

Make PATypeHolder and friends return non-const pointers to the types they
hold.  Because types are basically immutable anyway, they should not be
referenced as "const Type*" everywhere.  Just "Type*" should suffice!



---
Diffs of the changes:  (+11 -11)

Index: llvm/include/llvm/Type.h
diff -u llvm/include/llvm/Type.h:1.53 llvm/include/llvm/Type.h:1.54
--- llvm/include/llvm/Type.h:1.53	Fri Jul  9 12:02:57 2004
+++ llvm/include/llvm/Type.h	Wed Jul 14 15:10:26 2004
@@ -347,9 +347,9 @@
 /// type we are pointing to is forwarding to a new type.  If so, we drop our
 /// reference to the type.
 ///
-inline const Type* PATypeHolder::get() const {
+inline Type* PATypeHolder::get() const {
   const Type *NewTy = Ty->getForwardedType();
-  if (!NewTy) return Ty;
+  if (!NewTy) return const_cast<Type*>(Ty);
   return *const_cast<PATypeHolder*>(this) = NewTy;
 }
 


Index: llvm/include/llvm/AbstractTypeUser.h
diff -u llvm/include/llvm/AbstractTypeUser.h:1.20 llvm/include/llvm/AbstractTypeUser.h:1.21
--- llvm/include/llvm/AbstractTypeUser.h:1.20	Tue Jun  8 12:44:21 2004
+++ llvm/include/llvm/AbstractTypeUser.h	Wed Jul 14 15:10:26 2004
@@ -93,17 +93,17 @@
   inline ~PATypeHandle() { removeUser(); }
 
   // Automatic casting operator so that the handle may be used naturally
-  inline operator const Type *() const { return Ty; }
-  inline const Type *get() const { return Ty; }
+  inline operator Type *() const { return const_cast<Type*>(Ty); }
+  inline Type *get() const { return const_cast<Type*>(Ty); }
 
   // operator= - Allow assignment to handle
-  inline const Type *operator=(const Type *ty) {
+  inline Type *operator=(const Type *ty) {
     if (Ty != ty) {   // Ensure we don't accidentally drop last ref to Ty
       removeUser();
       Ty = ty;
       addUser();
     }
-    return Ty;
+    return get();
   }
 
   // operator= - Allow assignment to handle
@@ -145,14 +145,14 @@
 
   ~PATypeHolder() { dropRef(); }
 
-  operator const Type *() const { return get(); }
-  const Type *get() const;
+  operator Type *() const { return get(); }
+  Type *get() const;
 
   // operator-> - Allow user to dereference handle naturally...
-  const Type *operator->() const { return get(); }
+  Type *operator->() const { return get(); }
 
   // operator= - Allow assignment to handle
-  const Type *operator=(const Type *ty) {
+  Type *operator=(const Type *ty) {
     if (Ty != ty) {   // Don't accidentally drop last ref to Ty.
       dropRef();
       Ty = ty;
@@ -160,7 +160,7 @@
     }
     return get();
   }
-  const Type *operator=(const PATypeHolder &H) {
+  Type *operator=(const PATypeHolder &H) {
     return operator=(H.Ty);
   }
 





More information about the llvm-commits mailing list