Apply `clang-modernize` (based on Clang 3.6) transformations to the codebase while making sure to support Clang>=3.4 and GCC>=4.8. We apply the transformations in parallel to speed up the quite time consuming process, and use our `clang-format` style file to automatically format the code respecting our coding conventions. We use the following self-explanatory transformations: * AddOverride * LoopConvert * PassByValue * ReplaceAutoPtr * UseAuto * UseNullptr This required a `compile_commands.json` compilation database, e.g. ccmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=1 for CMake or check Bear for a Makefile based solution (or even Ninja). git ls-files -x '*.cpp|*.h' | \ xargs -I{} -P $(nproc) clang-modernize -p build -final-syntax-check -format -style=file -summary -for-compilers=clang-3.4,gcc-4.8 -include . -exclude third_party {} Boom! References: * http://clang.llvm.org/extra/clang-modernize.html * http://clang.llvm.org/extra/ModernizerUsage.html |
||
---|---|---|
.. | ||
osrm |