Avoid a dangling pointer dereference, PassManager::add can delete the Pass.

llvm-svn: 96576
This commit is contained in:
Benjamin Kramer 2010-02-18 12:57:05 +00:00
parent 7ed81690ab
commit 32c3d30fc9
1 changed files with 2 additions and 1 deletions

View File

@ -475,10 +475,11 @@ int main(int argc, char **argv) {
errs() << argv[0] << ": cannot create pass: "
<< PassInf->getPassName() << "\n";
if (P) {
PassKind Kind = P->getPassKind();
addPass(Passes, P);
if (AnalyzeOnly) {
switch (P->getPassKind()) {
switch (Kind) {
case PT_BasicBlock:
Passes.add(new BasicBlockPassPrinter(PassInf));
break;