Revision of Brian's threading support library to be a bit more generic and
[oota-llvm.git] / include / llvm / AbstractTypeUser.h
index e4096787f438d723b78d5871631744f03ee89188..d21116539419235e99acfec25e859edb79116526 100644 (file)
@@ -1,4 +1,11 @@
 //===-- llvm/AbstractTypeUser.h - AbstractTypeUser Interface ----*- C++ -*-===//
+// 
+//                     The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// 
+//===----------------------------------------------------------------------===//
 //
 // The AbstractTypeUser class is an interface to be implemented by classes who
 // could possible use an abstract type.  Abstract types are denoted by the
@@ -30,6 +37,8 @@
 //
 #include <cassert>
 
+namespace llvm {
+
 class Type;
 class DerivedType;
 
@@ -134,6 +143,8 @@ public:
     addRef();
   }
 
+  ~PATypeHolder() { dropRef(); }
+
   operator const Type *() const { return get(); }
   const Type *get() const;
 
@@ -158,4 +169,6 @@ private:
   void dropRef();
 };
 
+} // End llvm namespace
+
 #endif