The mirror has not been updated in two days. llvm-gcc is now unbuildable by the public.
[EMAIL PROTECTED] wrote: > Revision: 126379 > Author: clattner > Date: 2007-04-21 22:52:13 -0700 (Sat, 21 Apr 2007) > > Log Message: > ----------- > apply reid's patch for PR1146 > > Modified Paths: > -------------- > apple-local/branches/llvm/gcc/llvm-types.cpp > > Modified: apple-local/branches/llvm/gcc/llvm-types.cpp > =================================================================== > --- apple-local/branches/llvm/gcc/llvm-types.cpp 2007-04-21 06:48:37 UTC > (rev 126378) > +++ apple-local/branches/llvm/gcc/llvm-types.cpp 2007-04-22 05:52:13 UTC > (rev 126379) > @@ -751,15 +751,17 @@ > for (; Args && TREE_TYPE(Args) != void_type_node; Args = TREE_CHAIN(Args)) > ABIConverter.HandleArgument(TREE_TYPE(Args)); > > - ParamAttrsList *ParamAttrs = 0; > + ParamAttrsList *PAL = 0; > > if (static_chain) { > // Pass the static chain in a register. > - ParamAttrs = new ParamAttrsList(); > - ParamAttrs->addAttributes(1, ParamAttr::InReg); > + ParamAttrsVector Attrs; > + ParamAttrsWithIndex PAWI; PAWI.index = 1; PAWI.attrs = ParamAttr::InReg; > + Attrs.push_back(PAWI); > + PAL = ParamAttrsList::get(Attrs); > } > > - return FunctionType::get(RetTy, ArgTys, false, ParamAttrs); > + return FunctionType::get(RetTy, ArgTys, false, PAL); > } > > const FunctionType *TypeConverter::ConvertFunctionType(tree type, > @@ -811,7 +813,7 @@ > // the parameter attribute in the FunctionType so any arguments passed to > // the function will be correctly sign or zero extended to 32-bits by > // the LLVM code gen. > - ParamAttrsList Attrs; > + ParamAttrsVector Attrs; > uint16_t RAttributes = ParamAttr::None; > if (CallingConv == CallingConv::C) { > tree ResultTy = TREE_TYPE(type); > @@ -827,8 +829,10 @@ > RAttributes |= ParamAttr::SExt; > } > } > - if (RAttributes != ParamAttr::None) > - Attrs.addAttributes(0, RAttributes); > + if (RAttributes != ParamAttr::None) { > + ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = RAttributes; > + Attrs.push_back(PAWI); > + } > > unsigned Idx = 1; > bool isFirstArg = true; > @@ -838,16 +842,21 @@ > LLVM_TARGET_INIT_REGPARM(lparam, type); > #endif // LLVM_TARGET_ENABLE_REGPARM > > - if (static_chain) > + if (static_chain) { > // Pass the static chain in a register. > - Attrs.addAttributes(Idx++, ParamAttr::InReg); > + ParamAttrsWithIndex PAWI; PAWI.index = Idx++; PAWI.attrs = > ParamAttr::InReg; > + Attrs.push_back(PAWI); > + } > > // The struct return attribute must be associated with the first > // parameter but that parameter may have other attributes too so we set up > // the first Attributes value here based on struct return. This only works > // Handle the structure return calling convention > - if (ABIConverter.isStructReturn()) > - Attrs.addAttributes(Idx++, ParamAttr::StructRet); > + if (ABIConverter.isStructReturn()) { > + ParamAttrsWithIndex PAWI; > + PAWI.index = Idx++; PAWI.attrs = ParamAttr::StructRet; > + Attrs.push_back(PAWI); > + } > > for (tree Args = TYPE_ARG_TYPES(type); > Args && TREE_VALUE(Args) != void_type_node; Args = TREE_CHAIN(Args)) { > @@ -873,18 +882,20 @@ > isVarArg, lparam); > #endif // LLVM_TARGET_ENABLE_REGPARM > > - if (Attributes != ParamAttr::None) > - Attrs.addAttributes(Idx, Attributes); > + if (Attributes != ParamAttr::None) { > + ParamAttrsWithIndex PAWI; PAWI.index = Idx; PAWI.attrs = Attributes; > + Attrs.push_back(PAWI); > + } > Idx++; > } > > // Only instantiate the parameter attributes if we got some > - ParamAttrsList *ParamAttrs = 0; > + ParamAttrsList *PAL = 0; > if (!Attrs.empty()) > - ParamAttrs = new ParamAttrsList(Attrs); > + PAL = ParamAttrsList::get(Attrs); > > // Finally, make the function type > - return FunctionType::get(RetTy, ArgTypes, isVarArg, ParamAttrs); > + return FunctionType::get(RetTy, ArgTypes, isVarArg, PAL); > } > > > //===----------------------------------------------------------------------===// > > > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits > > > > _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits