[cfe-dev] Static analyzer: add smart pointer checker
Ted Kremenek
kremenek at apple.com
Fri Jan 6 12:59:30 PST 2012
I should add that this seems useful and would have a low (possibly 0%) false positive rate. If it is always correct, it seems really worth doing as a compiler warning (with a FixIt) if that isn't unappealing to people.
On Jan 6, 2012, at 12:58 PM, Ted Kremenek wrote:
> Seems fairly straightforward and wouldn't require much analysis. If this is specific to 'std', we could consider making this a compiler warning. I'm fine with trying this out as a static analyzer check first.
>
> On Jan 6, 2012, at 7:40 AM, Dmitri Gribenko wrote:
>
>> Hello,
>>
>> I want to implement a smart pointer checker (std::shared_ptr,
>> std::unique) that catches specifying invalid type:
>>
>> struct A
>> {
>> A() { cout << "A()" << endl; }
>> ~A() { cout << "~A()" << endl; }
>> };
>>
>> void test()
>> {
>> std::unique_ptr<A[]> p(new A[3]); // good, delete[] called
>> std::unique_ptr<A> p(new A[3]); // bad, delete instead of delete[] called
>> }
>>
>> Any comments?
>>
>> Dmitri Gribenko
>>
>> --
>> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
>> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
More information about the cfe-dev
mailing list