Add support for extern varargs methods & varargs method calls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2001-07-25 22:47:55 +00:00
parent 8b81bf5046
commit e5a57ee363
9 changed files with 130 additions and 46 deletions

View File

@ -33,15 +33,15 @@ bool BytecodeParser::parseTypeConstant(const uchar *&Buf, const uchar *EndBuf,
const Type *RetType = getType(Typ);
if (RetType == 0) return true;
MethodType::ParamTypes Params;
unsigned NumParams;
if (read_vbr(Buf, EndBuf, NumParams)) return true;
if (read_vbr(Buf, EndBuf, Typ)) return true;
while (Typ) {
MethodType::ParamTypes Params;
while (NumParams--) {
if (read_vbr(Buf, EndBuf, Typ)) return true;
const Type *Ty = getType(Typ);
if (Ty == 0) return true;
Params.push_back(Ty);
if (read_vbr(Buf, EndBuf, Typ)) return true;
}
Val = MethodType::getMethodType(RetType, Params);