Verify that varargs functions all have ccc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21792 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-05-08 22:27:09 +00:00
parent fb217adf92
commit 37c121acf4

View File

@ -41,6 +41,7 @@
#include "llvm/Analysis/Verifier.h" #include "llvm/Analysis/Verifier.h"
#include "llvm/Assembly/Writer.h" #include "llvm/Assembly/Writer.h"
#include "llvm/CallingConv.h"
#include "llvm/Constants.h" #include "llvm/Constants.h"
#include "llvm/Pass.h" #include "llvm/Pass.h"
#include "llvm/Module.h" #include "llvm/Module.h"
@ -294,7 +295,10 @@ void Verifier::verifySymbolTable(SymbolTable &ST) {
// visitFunction - Verify that a function is ok. // visitFunction - Verify that a function is ok.
// //
void Verifier::visitFunction(Function &F) { void Verifier::visitFunction(Function &F) {
// Check function arguments... Assert1(!F.isVarArg() || F.getCallingConv() == CallingConv::C,
"Varargs functions must have C calling conventions!", &F);
// Check function arguments.
const FunctionType *FT = F.getFunctionType(); const FunctionType *FT = F.getFunctionType();
unsigned NumArgs = F.getArgumentList().size(); unsigned NumArgs = F.getArgumentList().size();