if functiontype is going to have a pointer to a paramattr object, it better
authorChris Lattner <sabre@nondot.org>
Fri, 4 May 2007 03:39:28 +0000 (03:39 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 4 May 2007 03:39:28 +0000 (03:39 +0000)
be const.  The only way to get a pointer to these returns a const pointer.

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

include/llvm/DerivedTypes.h
lib/VMCore/Type.cpp

index af58827c8812b89dc1ee57304107b56d3ada4276..5aaa76ede3e3fbc1f46ca1cfa8fb6b0399df7c8d 100644 (file)
@@ -140,12 +140,12 @@ public:
 class FunctionType : public DerivedType {
   friend class TypeMap<FunctionValType, FunctionType>;
   bool isVarArgs;
-  ParamAttrsList *ParamAttrs;
+  const ParamAttrsList *ParamAttrs;
 
   FunctionType(const FunctionType &);                   // Do not implement
   const FunctionType &operator=(const FunctionType &);  // Do not implement
   FunctionType(const Type *Result, const std::vector<const Type*> &Params,
-               bool IsVarArgs, ParamAttrsList *Attrs = 0);
+               bool IsVarArgs, const ParamAttrsList *Attrs = 0);
 
 public:
   /// FunctionType::get - This static method is the primary way of constructing
@@ -155,7 +155,7 @@ public:
     const Type *Result, ///< The result type
     const std::vector<const Type*> &Params, ///< The types of the parameters
     bool isVarArg, ///< Whether this is a variable argument length function
-    ParamAttrsList *Attrs = 0
+    const ParamAttrsList *Attrs = 0
       ///< Indicates the parameter attributes to use, if any. The 0th entry
       ///< in the list refers to the return type. Parameters are numbered
       ///< starting at 1. This argument must be on the heap and FunctionType
index 3463e383896716fa14d93366d53a7496f01e96f7..4bb32bbae8921b24508c2853adbffc315dd8959a 100644 (file)
@@ -417,7 +417,7 @@ const IntegerType *Type::Int64Ty = new BuiltinIntegerType(64);
 
 FunctionType::FunctionType(const Type *Result,
                            const std::vector<const Type*> &Params,
-                           bool IsVarArgs, ParamAttrsList *Attrs) 
+                           bool IsVarArgs, const ParamAttrsList *Attrs) 
   : DerivedType(FunctionTyID), isVarArgs(IsVarArgs), ParamAttrs(Attrs) {
   ContainedTys = reinterpret_cast<PATypeHandle*>(this+1);
   NumContainedTys = Params.size() + 1; // + 1 for result type
@@ -1084,7 +1084,7 @@ FunctionValType FunctionValType::get(const FunctionType *FT) {
 FunctionType *FunctionType::get(const Type *ReturnType,
                                 const std::vector<const Type*> &Params,
                                 bool isVarArg,
-                                ParamAttrsList *Attrs) {
+                                const ParamAttrsList *Attrs) {
 
   FunctionValType VT(ReturnType, Params, isVarArg, Attrs);
   FunctionType *FT = FunctionTypes->get(VT);