r180266 - Add an idea for cpp11-migrate and cpp14-migrate

Dmitri Gribenko gribozavr at gmail.com
Fri Apr 26 13:21:05 PDT 2013


On Fri, Apr 26, 2013 at 2:45 AM, David Blaikie <dblaikie at gmail.com> wrote:
> On Thu, Apr 25, 2013 at 9:07 AM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
>> Author: gribozavr
>> Date: Thu Apr 25 11:07:10 2013
>> New Revision: 180266
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=180266&view=rev
>> Log:
>> Add an idea for cpp11-migrate and cpp14-migrate
>>
>> Modified:
>>     cfe/trunk/docs/ClangTools.rst
>>
>> Modified: cfe/trunk/docs/ClangTools.rst
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ClangTools.rst?rev=180266&r1=180265&r2=180266&view=diff
>> ==============================================================================
>> --- cfe/trunk/docs/ClangTools.rst (original)
>> +++ cfe/trunk/docs/ClangTools.rst Thu Apr 25 11:07:10 2013
>> @@ -124,6 +124,21 @@ Ideas for new Tools
>>    ``foo.begin()`` into ``begin(foo)`` and similarly for ``end()``, where
>>    ``foo`` is a standard container.  We could also detect similar patterns for
>>    arrays.
>> +* ``make_shared`` / ``make_unique`` conversion.  This transformation can be
>> +  incorporated into the ``auto`` transformation.  Will convert
>> +
>> +  .. code-block:: c++
>> +
>> +    std::shared_ptr<Foo> sp(new Foo);
>> +    std::unique_ptr<Foo> up(new Foo);
>
> FWIW: it would be as or more important to make this transformation in
> function parameters & the like:
>
> func(std::shared_ptr<Foo>(new Foo), bar());
>
> =>
>
> func(std::make_shared<Foo>(), bar());
>
> (for the cases where bar() throws, the latter is safe & the former may leak)

Thanks!  Added in r180627.

Dmitri

--
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>*/



More information about the cfe-commits mailing list