[cfe-dev] More C++11 Migration Tools

Douglas Gregor dgregor at apple.com
Wed Oct 31 10:33:20 PDT 2012


On Oct 31, 2012, at 7:58 AM, "Vane, Edwin" <edwin.vane at intel.com> wrote:

> Hi all,
>  
> I’ve been catching up from the archive about talk about a C++11 migration tool. It seems all that communication culminated in the loop-convert tool currently in the clang-tools-extra repo. My team has been developing tools for migrating more C++11 features. We’re starting small and simple (e.g. nested template space removal between ‘>’, use of nullptr, etc.) and hope to tackle more and more complex transformations. Right each transformation lives in its own standalone tool, following the loop-convert model. However, based on the old conversation I think the intent was to have loop-convert as the basis of a single binary that does multiple transforms right?

Yes, we'd like to have a single "C++11 migrator" binary that can do multiple transforms. And I *definitely* think it's good to start with the simpler transformations, so we can get the basic architecture in place without having to also work on a ton of logic for individual migration steps.

>  
> Assuming ‘yes’ to that question, when we have a few tools to choose from, we want to merge them into a single c++11 migration tool. We’d welcome thoughts on the design of such a tool. I’m aware of earlier suggestions:
> -        Something akin to –O# to control the level of risk/change you’re willing to live with.
> -        Options to turn on/off certain transforms

The two aren't mutually exclusive. Personally, I think the latter is far more important: users need to be able to say, "use this C++11 feature, but not this other one". And it certainly makes sense to define a default set of transforms that are guaranteed to be safe (including the two you mentioned above).

	- Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121031/b3e10d7e/attachment.html>


More information about the cfe-dev mailing list