Use find instead of operator[] to test whether an element is in a std::map.
authorDan Gohman <gohman@apple.com>
Wed, 1 Jul 2009 23:12:33 +0000 (23:12 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 1 Jul 2009 23:12:33 +0000 (23:12 +0000)
This fixes a bug that caused -debug-pass=Details to abort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74654 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManager.cpp

index 78fc28ec111d8ba870c9300a1d34464720732ad3..46f1243e12116ecd816008444092cdbc5c8d3443 100644 (file)
@@ -278,8 +278,10 @@ public:
     for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
       ModulePass *MP = getContainedPass(Index);
       MP->dumpPassStructure(Offset + 1);
-      if (FunctionPassManagerImpl *FPP = OnTheFlyManagers[MP])
-        FPP->dumpPassStructure(Offset + 2);
+      std::map<Pass *, FunctionPassManagerImpl *>::const_iterator I =
+        OnTheFlyManagers.find(MP);
+      if (I != OnTheFlyManagers.end())
+        I->second->dumpPassStructure(Offset + 2);
       dumpLastUses(MP, Offset+1);
     }
   }