On Wed, Apr 23, 2014 at 2:53 PM, Richard Smith <[email protected]>wrote:
> On Wed, Apr 23, 2014 at 2:41 PM, Nico Weber <[email protected]> wrote: > >> Author: nico >> Date: Wed Apr 23 16:41:51 2014 >> New Revision: 207031 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=207031&view=rev >> Log: >> Fix leak introduced in r194610, found by LSan. >> >> LSan folks: LSan pointed to >> #0 0x4953e0 in operator new[](unsigned long) >> llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:64 >> #1 0x7fb82af5372f in clang::RewriteRope::MakeRopeString(char const*, >> char const*) llvm/tools/clang/lib/Rewrite/Core/RewriteRope.cpp:796 >> instead of to the actual leak, which made tracking this down slower than >> it could have been. >> >> Modified: >> cfe/trunk/include/clang/Index/CommentToXML.h >> cfe/trunk/lib/Index/CommentToXML.cpp >> >> Modified: cfe/trunk/include/clang/Index/CommentToXML.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Index/CommentToXML.h?rev=207031&r1=207030&r2=207031&view=diff >> >> ============================================================================== >> --- cfe/trunk/include/clang/Index/CommentToXML.h (original) >> +++ cfe/trunk/include/clang/Index/CommentToXML.h Wed Apr 23 16:41:51 2014 >> @@ -29,6 +29,7 @@ class CommentToXMLConverter { >> >> public: >> CommentToXMLConverter() : FormatContext(0), FormatInMemoryUniqueId(0) >> {} >> + ~CommentToXMLConverter(); >> >> void convertCommentToHTML(const comments::FullComment *FC, >> SmallVectorImpl<char> &HTML, >> >> Modified: cfe/trunk/lib/Index/CommentToXML.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/CommentToXML.cpp?rev=207031&r1=207030&r2=207031&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/Index/CommentToXML.cpp (original) >> +++ cfe/trunk/lib/Index/CommentToXML.cpp Wed Apr 23 16:41:51 2014 >> @@ -1136,6 +1136,10 @@ void CommentASTToXMLConverter::appendToR >> Result << "]]>"; >> } >> >> +CommentToXMLConverter::~CommentToXMLConverter() { >> + delete FormatContext; >> > > Is it possible to use unique_ptr here? > That was my first attempt, but unique_ptr requires a complete type and SimpleFormatContext is defined in lib/Index while CommentToXML.h is in include/clang/Index. Is it possible to use unique_ptr in this scenario? > > >> +} >> + >> void CommentToXMLConverter::convertCommentToHTML(const FullComment *FC, >> SmallVectorImpl<char> >> &HTML, >> const ASTContext >> &Context) { >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
