Add an assertion to make sure we are at least getting argv[0] right.

Use a clearer error message when we fail to load a program.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10414 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Brian Gaeke 2003-12-12 00:47:19 +00:00
parent 2d9d4e740b
commit 3f6e798a14

View File

@ -120,6 +120,7 @@ int callAsMain(ExecutionEngine *EE, ModuleProvider *MP,
GVArgc.IntVal = Args.size();
GVArgs.push_back(GVArgc); // Arg #0 = argc.
GVArgs.push_back(PTOGV(CreateArgv(EE, Args))); // Arg #1 = argv.
assert(((char **)GVTOP(GVArgs[1]))[0] && "argv[0] was null after CreateArgv");
GVArgs.push_back(PTOGV(CreateArgv(EE, EnvVars))); // Arg #2 = envp.
return EE->run(Fn, GVArgs).IntVal;
}
@ -137,7 +138,7 @@ int main(int argc, char **argv, char * const *envp) {
try {
MP = getBytecodeModuleProvider(InputFile);
} catch (std::string &err) {
std::cerr << "Error parsing '" << InputFile << "': " << err << "\n";
std::cerr << "Error loading program '" << InputFile << "': " << err << "\n";
exit(1);
}