[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