[PATCH] D68551: [clang-format] [NFC] Ensure clang-format is itself clang-formatted.

MyDeveloperDay via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 7 00:36:05 PDT 2019


MyDeveloperDay added a comment.

In D68551#1696598 <https://reviews.llvm.org/D68551#1696598>, @Eugene.Zelenko wrote:

> If clang-format if clang-formatted now completely, I think will be good idea to add rule to check this during build, like Polly does.


This is a great idea... Do you know if is this run as part of the build or as a custom rule they have to remember to run? I guess some additional checking might be needed to allow bootstrapping this, but I really like this idea of once a directory is clean keeping it clean because of its part of a normal build.

Keeping code clang-format clean with all the best will in the world is super hard, changes drift in very slowly even with asking people to `git-clang-format` then if one is missing you are asking for what I'm doing here which is making a clang-format only commit and some don't like that.

  # Add target to check formatting of polly files
  file( GLOB_RECURSE files *.h lib/*.cpp lib/*.c tools/*.cpp tools/*.c tools/*.h unittests/*.cpp)
  file( GLOB_RECURSE external lib/External/*.h lib/External/*.c lib/External/*.cpp isl_config.h)
  list( REMOVE_ITEM files ${external})
  
  set(check_format_depends)
  set(update_format_depends)
  set(i 0)
  foreach (file IN LISTS files)
    add_custom_command(OUTPUT polly-check-format${i}
      COMMAND clang-format -sort-includes -style=llvm ${file} | diff -u ${file} -
      VERBATIM
      COMMENT "Checking format of ${file}..."
    )
    list(APPEND check_format_depends "polly-check-format${i}")
  
    add_custom_command(OUTPUT polly-update-format${i}
      COMMAND clang-format -sort-includes -i -style=llvm ${file}
      VERBATIM
      COMMENT "Updating format of ${file}..."
    )
    list(APPEND update_format_depends "polly-update-format${i}")
  
    math(EXPR i ${i}+1)
  endforeach ()
  
  add_custom_target(polly-check-format DEPENDS ${check_format_depends})
  set_target_properties(polly-check-format PROPERTIES FOLDER "Polly")
  
  add_custom_target(polly-update-format DEPENDS ${update_format_depends})
  set_target_properties(polly-update-format PROPERTIES FOLDER "Polly")


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68551/new/

https://reviews.llvm.org/D68551





More information about the cfe-commits mailing list