E = FTy->param_end(); I != E; ++I) {
if (I != FTy->param_begin())
Result += ", ";
- if (Attrs && Attrs->getParamAttrs(Idx) != NoAttributeSet)
+ if (Attrs && Attrs->getParamAttrs(Idx) != ParamAttr::None)
Result += Attrs->getParamAttrsTextByIndex(Idx);
Idx++;
Result += getTypeDescription(*I, TypeStack);
Result += "...";
}
Result += ")";
- if (Attrs && Attrs->getParamAttrs(0) != NoAttributeSet) {
+ if (Attrs && Attrs->getParamAttrs(0) != ParamAttr::None) {
Result += " " + Attrs->getParamAttrsTextByIndex(0);
}
break;
FunctionValType VT(ReturnType, Params, isVarArg, Attrs);
FunctionType *MT = FunctionTypes->get(VT);
- if (MT) return MT;
+ if (MT) {
+ delete Attrs; // not needed any more
+ return MT;
+ }
+
MT = (FunctionType*) new char[sizeof(FunctionType) +
sizeof(PATypeHandle)*(Params.size()+1)];
bool FunctionType::isStructReturn() const {
if (ParamAttrs)
- return ParamAttrs->paramHasAttr(1, StructRetAttribute);
+ return ParamAttrs->paramHasAttr(1, ParamAttr::StructRet);
return false;
}