diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-09-13 14:31:14 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-09-13 14:34:02 (GMT) |
commit | e801f129218e6f9ab11dc165b0e1607fc64cd645 (patch) | |
tree | e08906e55a1be9b81e9855542ada26d1bc6d7573 /src/vhdldocgen.cpp | |
parent | 9826394521af43b38a6e228397328deaf793cd1e (diff) | |
download | Doxygen-e801f129218e6f9ab11dc165b0e1607fc64cd645.zip Doxygen-e801f129218e6f9ab11dc165b0e1607fc64cd645.tar.gz Doxygen-e801f129218e6f9ab11dc165b0e1607fc64cd645.tar.bz2 |
Refactoring: making vhdlcode.l reentrant
Also fixed a few VHDL related memory leaks and one newly introduced
Fortran memory leak.
Diffstat (limited to 'src/vhdldocgen.cpp')
-rw-r--r-- | src/vhdldocgen.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp index 8e311b7..ff47791 100644 --- a/src/vhdldocgen.cpp +++ b/src/vhdldocgen.cpp @@ -55,6 +55,7 @@ #include "filename.h" #include "membergroup.h" #include "memberdef.h" +#include "membername.h" #include "plantuml.h" #include "vhdljjparser.h" #include "VhdlParser.h" @@ -2739,14 +2740,14 @@ static void addInstance(ClassDef* classEntity, ClassDef* ar, ferr: QCString uu=cur->name; - MemberDef *md=createMemberDef( + std::unique_ptr<MemberDef> md { createMemberDef( ar->getDefFileName(), cur->startLine,cur->startColumn, n1,uu,uu, 0, Public, Normal, cur->stat,Member, MemberType_Variable, ArgumentList(), ArgumentList(), - ""); + "") }; if (ar->getOutputFileBase()) { @@ -2774,7 +2775,9 @@ ferr: //label.replace(epr,":"); //info+=label; //fprintf(stderr,"\n[%s:%d:%s]\n",fd->fileName().data(),cur->startLine,info.data()); - ar->insertMember(md); + ar->insertMember(md.get()); + MemberName *mn = Doxygen::functionNameLinkedMap->add(uu); + mn->push_back(std::move(md)); } |