[cfe-dev] C++11 migration tools

Stephen Kelly steveire at gmail.com
Sat Jun 30 06:37:31 PDT 2012


Douglas Gregor wrote:
>> Thoughts? Suggestions?
> 
> A C++11 migration tool is an excellent idea. Some specific suggestions:
> 
> - It should be a single tool (C++11 migration) with a number of migration
> rules (for-each loops, override, nullptr), which we can expand over time.
> Just running the tool migrates everything we can, and it can have options
> for toggling individual features ("don't add override") 

This is also the idea for the Qt porting tool I wrote. It's kind of hard to 
get the command line stuff to a sensible level:

https://github.com/KDAB/Qt4to5 if you haven't seen it already.

> or for targeting a
> specific common subset among compiles (migrate so that it works with Clang
> 3.1, GCC 4.6, and MSVC10). Bundling everything together makes for a much
> nicer user experience, because you write one command line and out pops a
> C++11 code-base.

If I was porting a Qt based codebase to use the override keyword, I wouldn't 
want to insert the override keyword into the code, but the Q_DECL_OVERRIDE 
macro instead:

https://qt.gitorious.org/qt/qtbase/blobs/master/src/corelib/global/qcompilerdetection.h

(and similar for some other features). So at some level, it might make sense 
to make that configurable.

>From my point of view, apart from a command line tool, I want to create a Qt 
gui to do all of these kinds of tasks - Not just porting to Qt 5, but also 
adding c++11 features where appropriate, and of course with toggling.

We also discussed the issue of where the Qt 4 to 5 porting tool (even the 
command line one above) should live, and I think that this extra repo could 
be a good place for it. 

Can I add it to such a repo when it exists?

Thanks,

Steve.





More information about the cfe-dev mailing list