Fix a memory leak in the debug emission by simply not allocating memory.
authorChandler Carruth <chandlerc@gmail.com>
Sat, 27 Jul 2013 11:09:58 +0000 (11:09 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 27 Jul 2013 11:09:58 +0000 (11:09 +0000)
There doesn't appear to be any reason to put this variable on the heap.
I'm suspicious of the LexicalScope above that we stuff in a map and then
delete afterward, but I'm just trying to get the valgrind bot clean.

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

lib/CodeGen/AsmPrinter/DwarfDebug.cpp

index 27d243e4c30b803ba5c09aeb7257852c734f8dd8..0d2d02eba4d9ce163e76ebe66b29be7cc85f30bd 100644 (file)
@@ -951,9 +951,9 @@ void DwarfDebug::collectDeadVariables() {
         for (unsigned vi = 0, ve = Variables.getNumElements(); vi != ve; ++vi) {
           DIVariable DV(Variables.getElement(vi));
           if (!DV.isVariable()) continue;
-          DbgVariable *NewVar = new DbgVariable(DV, NULL);
+          DbgVariable NewVar(DV, NULL);
           if (DIE *VariableDIE =
-              SPCU->constructVariableDIE(NewVar, Scope->isAbstractScope()))
+              SPCU->constructVariableDIE(&NewVar, Scope->isAbstractScope()))
             ScopeDIE->addChild(VariableDIE);
         }
       }