[cfe-commits] r128138 - /cfe/trunk/lib/Frontend/ASTUnit.cpp

Chris Lattner clattner at apple.com
Tue Mar 22 20:58:11 PDT 2011


On Mar 22, 2011, at 8:44 PM, Ted Kremenek wrote:

> Either suggestions works for me.  It use to be a SmallVector, but I needed to change it to be heap allocated for safety reasons when cleaning up resources during a crash.  SmallVectors certainly can be heap allocated, but at the time I didn't really see the point in that case of not just using a regular vector.

llvm::ArrayRef works better on both sides of the API, I'll switch it I guess.

-Chris

> 
> On Mar 22, 2011, at 8:10 PM, Chris Lattner wrote:
> 
>> 
>> On Mar 22, 2011, at 7:16 PM, Ted Kremenek wrote:
>> 
>>> Author: kremenek
>>> Date: Tue Mar 22 21:16:41 2011
>>> New Revision: 128138
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=128138&view=rev
>>> Log:
>>> std::vector::data() is not portable to VS.  Use a gross hack instead.
>> 
>> Can you just change this to use a SmallVector?  Alternatively, BuildCompilation could also just take an llvm::ArrayRef which already handles this.
>> 
>> -Chris
>> 
>>> 
>>> Modified:
>>>  cfe/trunk/lib/Frontend/ASTUnit.cpp
>>> 
>>> Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=128138&r1=128137&r2=128138&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/Frontend/ASTUnit.cpp (original)
>>> +++ cfe/trunk/lib/Frontend/ASTUnit.cpp Tue Mar 22 21:16:41 2011
>>> @@ -1662,7 +1662,9 @@
>>>   TheDriver.setCheckInputsExist(false);
>>> 
>>>   llvm::OwningPtr<driver::Compilation> C(
>>> -      TheDriver.BuildCompilation(Args->size(), Args->data()));
>>> +      TheDriver.BuildCompilation(
>>> +        Args->size(),
>>> +        Args->size() ? &(*Args)[0] : 0 ));  // std::vector::data() not portable
>>> 
>>>   // Just print the cc1 options if -### was present.
>>>   if (C->getArgs().hasArg(driver::options::OPT__HASH_HASH_HASH)) {
>>> 
>>> 
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>> 
> 





More information about the cfe-commits mailing list