Skip to content
  • Manuel Grizonnet's avatar
    ENH: Explicitly recognize virtual functions · 3de2b346
    Manuel Grizonnet authored
        clang-tidy tool can insert missing override keyword as a macro so that missing [optional] virtual identifiers can be easily added.
    
        build otb with clang 3.8 and use cmake option CMAKE_EXPORT_COMPILE_COMMANDS=ON. Most modules and third parties have been activated.
    
        #Save override occurences in otb code
        cd src/Modules ; grep -nR "override" * > ~/temporary/override_otb.txt
    
        #Run clang modernize check using utility script which allow to process the code in parallel
        python run-clang-tidy.py -clang-tidy-binary ~/software/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang-tidy -checks=-*,modernize-use-override -header-filter=/home/grizonnetm/projets/otb/src/OTB/Modules/.*/.*/include/.* -j8 -fix -p ~/projets/otb/bin/release/OTB-clang3.8/ ~/projets/otb/src/OTB/Modules/*/*/src/*.cxx ~/projets/otb/src/OTB/Examples/*/*.cxx ~/projets/otb/src/OTB/Modules/*/*/test/*.cxx > ~/temporary/run-clang-tidy-log.txt
    
        #Replace override by ITK macro (to maintain compat with c++98)
        find . -type f -print -name "*.h" -o -name "*.txx" |xargs perl -pi -e 's/\ override/\ ITK_OVERRIDE/g'
    3de2b346