This is some early feedback on the 7.0 Upgrade tool.
We are still in the progress of migration, so some comments may come later on.
First off, the tool does help to reduce tedious work and thus speed up migration, so thank you for providing it.
Some comments, not in any particular order:
1. The tool removes extra spaces at the end of lines.
Although not bad per se, this is not its purpose and extra differences only contaminates the diff log. It would be better to disable this by default.
2. Having -compat option is great. However even in compat mode the tool modifies DEFINE_STANDARD_RTTI() to have two arguments (class and baseclass) matching 7.0 conventions but breaking pre-7.0. Would be better to use some new name OCC_DEFINE_STANDARD_RTII(class,base) which would then be defined as single or dual arguments elsewhere. Not a big deal either, we can live with current way and rename the DEFINE_STANDARD_RTTI macro ourselves.
3. Updating forward declarations.
In some case the handle forward declaration is replaced with forward declaration of a class, for instance:
but sometimes the tool adds inclusion of the header:
What triggers different behavior ?
Including a new header file increases compilation times, and we deliberately tried to avoid that using forward declarations instead.
The general approach which would work would be to include
Hope this will be of any value as a feedback.