diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.h b/llvm/lib/Bitcode/Reader/BitcodeReader.h
index d7df1a1..9a140d9 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.h
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.h
@@ -15,6 +15,7 @@
 #define BITCODE_READER_H
 
 #include "llvm/ModuleProvider.h"
+#include "llvm/ParameterAttributes.h"
 #include "llvm/Type.h"
 #include "llvm/User.h"
 #include "llvm/Bitcode/BitstreamReader.h"
@@ -24,7 +25,6 @@
 
 namespace llvm {
   class MemoryBuffer;
-  class ParamAttrsList;
   
 class BitcodeReaderValueList : public User {
   std::vector<Use> Uses;
@@ -93,7 +93,7 @@
   /// ParamAttrs - The set of parameter attributes by index.  Index zero in the
   /// file is for null, and is thus not represented here.  As such all indices
   /// are off by one.
-  std::vector<const ParamAttrsList*> ParamAttrs;
+  std::vector<PAListPtr> ParamAttrs;
   
   /// FunctionBBs - While parsing a function body, this is a list of the basic
   /// blocks for the function.
@@ -156,10 +156,10 @@
     if (ID >= FunctionBBs.size()) return 0; // Invalid ID
     return FunctionBBs[ID];
   }
-  const ParamAttrsList *getParamAttrs(unsigned i) const {
+  PAListPtr getParamAttrs(unsigned i) const {
     if (i-1 < ParamAttrs.size())
       return ParamAttrs[i-1];
-    return 0;
+    return PAListPtr();
   }
   
   /// getValueTypePair - Read a value/type pair out of the specified record from
