because some functions just use va_start and pass things to vfprintf

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22269 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Lenharth 2005-06-20 15:41:37 +00:00
parent c826aea982
commit 31c98bfb85

View File

@ -737,6 +737,17 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
Module *Result = ParserResult;
ParserResult = 0;
//Not all functions use vaarg, so make a second check for ObsoleteVarArgs
{
Function* F;
if ((F = Result->getNamedFunction("llvm.va_start"))
&& F->getFunctionType()->getNumParams() == 0)
ObsoleteVarArgs = true;
if((F = Result->getNamedFunction("llvm.va_copy"))
&& F->getFunctionType()->getNumParams() == 1)
ObsoleteVarArgs = true;
}
if (ObsoleteVarArgs && NewVarArgs)
{
std::cerr << "This file is corrupt in that it uses both new and old style varargs\n";