mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-14 15:28:20 +00:00
Fix --enable-valgrind. Add room for the new arguments, and don't keep
a pointer to a temporary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30312 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -158,13 +158,14 @@ bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
|
|||||||
// setup the child process' arguments
|
// setup the child process' arguments
|
||||||
const char** args = (const char**)
|
const char** args = (const char**)
|
||||||
alloca(sizeof(const char*) *
|
alloca(sizeof(const char*) *
|
||||||
(Passes.size()+10+2*PluginLoader::getNumPlugins()));
|
(Passes.size()+13+2*PluginLoader::getNumPlugins()));
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
sys::Path tool = sys::Program::FindProgramByName(ToolName);
|
||||||
if (UseValgrind) {
|
if (UseValgrind) {
|
||||||
args[n++] = "valgrind";
|
args[n++] = "valgrind";
|
||||||
args[n++] = "--error-exitcode=1";
|
args[n++] = "--error-exitcode=1";
|
||||||
args[n++] = "-q";
|
args[n++] = "-q";
|
||||||
args[n++] = sys::Program::FindProgramByName(ToolName).c_str();
|
args[n++] = tool.c_str();
|
||||||
} else
|
} else
|
||||||
args[n++] = ToolName.c_str();
|
args[n++] = ToolName.c_str();
|
||||||
|
|
||||||
@@ -189,7 +190,7 @@ bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
|
|||||||
if (UseValgrind)
|
if (UseValgrind)
|
||||||
prog = sys::Program::FindProgramByName("valgrind");
|
prog = sys::Program::FindProgramByName("valgrind");
|
||||||
else
|
else
|
||||||
prog = sys::Program::FindProgramByName(ToolName);
|
prog = tool;
|
||||||
int result = sys::Program::ExecuteAndWait(prog,args,0,0,Timeout,&ErrMsg);
|
int result = sys::Program::ExecuteAndWait(prog,args,0,0,Timeout,&ErrMsg);
|
||||||
|
|
||||||
// If we are supposed to delete the bytecode file or if the passes crashed,
|
// If we are supposed to delete the bytecode file or if the passes crashed,
|
||||||
|
Reference in New Issue
Block a user