r207899 - [leaks] Don't leak the fake arguments we synthesize for LLVM option
Jordan Rose
jordan_rose at apple.com
Tue May 6 09:23:15 PDT 2014
On May 3, 2014, at 6:55 , David Blaikie <dblaikie at gmail.com> wrote:
> (oops, sorry Chandler, accidentally replied rather than reply-all.
> Re-adding the mailing list)
>
> On Sat, May 3, 2014 at 1:39 AM, Chandler Carruth <chandlerc at gmail.com> wrote:
>> Author: chandlerc
>> Date: Sat May 3 03:39:35 2014
>> New Revision: 207899
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=207899&view=rev
>> Log:
>> [leaks] Don't leak the fake arguments we synthesize for LLVM option
>> parsing.
>>
>> Modified:
>> cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp
>>
>> Modified: cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp?rev=207899&r1=207898&r2=207899&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp (original)
>> +++ cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp Sat May 3 03:39:35 2014
>> @@ -212,12 +212,12 @@ bool clang::ExecuteCompilerInvocation(Co
>> // This should happen AFTER plugins have been loaded!
>> if (!Clang->getFrontendOpts().LLVMArgs.empty()) {
>> unsigned NumArgs = Clang->getFrontendOpts().LLVMArgs.size();
>> - const char **Args = new const char*[NumArgs + 2];
>> + auto Args = llvm::make_unique<const char*[]>(NumArgs + 2);
>
> Would "std::vector<const char*> Args(NumArgs + 2);" be a bit simpler?
> (yeah, I know, it has resizability which isn't needed here - and the
> only thing it changes about usage is that it's passed as Args rather
> than Args.get() to ParseCommandLineOptions below - but at least for me
> having a local unique_ptr that's not polymorphic and never passed to
> anywhere strikes me as odd)
...or SmallVector, since there are usually very few LLVMArgs.
Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140506/f47590ed/attachment.html>
More information about the cfe-commits
mailing list