[polly] r247581 - Revise polly-{update|check}-format targets

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 14 09:59:51 PDT 2015


Author: meinersbur
Date: Mon Sep 14 11:59:50 2015
New Revision: 247581

URL: http://llvm.org/viewvc/llvm-project?rev=247581&view=rev
Log:
Revise polly-{update|check}-format targets

Summary:
Make clang-format run on each file independently using
add_custom_format (instead using a shell script in utils/). The targets
polly-{update|check}-format depend on these.

The primary motivation is to make them work on Windows, but also
improves them generally:
- Each file update/check can run in parallel (Although they do not take
  long to run anyway)
- Implicit dependency on clang-format, so it recompiles if necessary
- polly-check-format shows the formatting difference if failing

Differential Revision: http://reviews.llvm.org/D12837

Removed:
    polly/trunk/utils/check_format.sh
    polly/trunk/utils/update_format.sh
Modified:
    polly/trunk/CMakeLists.txt

Modified: polly/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/CMakeLists.txt?rev=247581&r1=247580&r2=247581&view=diff
==============================================================================
--- polly/trunk/CMakeLists.txt (original)
+++ polly/trunk/CMakeLists.txt Mon Sep 14 11:59:50 2015
@@ -188,15 +188,32 @@ file( GLOB_RECURSE islfiles lib/External
                    lib/External/isl/include/isl/*.h lib/External/isl/imath/*.h
                    lib/External/isl/imath/*.c)
 list( REMOVE_ITEM files ${jsonfiles} ${islfiles})
-add_custom_command( OUTPUT formatting COMMAND
-  CLANG_FORMAT=${LLVM_BINARY_DIR}/bin/clang-format
-  ${CMAKE_CURRENT_SOURCE_DIR}/utils/check_format.sh ${files})
-add_custom_target(polly-check-format DEPENDS formatting)
+
+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 -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 -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_command( OUTPUT formatting-update COMMAND
-  CLANG_FORMAT=${LLVM_BINARY_DIR}/bin/clang-format
-  ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_format.sh ${files})
-add_custom_target(polly-update-format DEPENDS formatting-update)
+
+add_custom_target(polly-update-format DEPENDS ${update_format_depends})
 set_target_properties(polly-update-format PROPERTIES FOLDER "Polly")
 
 # Set the variable POLLY_LINK_LIBS in the llvm/tools/ dir.

Removed: polly/trunk/utils/check_format.sh
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/utils/check_format.sh?rev=247580&view=auto
==============================================================================
--- polly/trunk/utils/check_format.sh (original)
+++ polly/trunk/utils/check_format.sh (removed)
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-CLANG_FORMAT=${CLANG_FORMAT}
-
-if [ "${CLANG_FORMAT}x" = "x" ]; then
-  CLANG_FORMAT=`which clang-format`
-  if [ "${CLANG_FORMAT}x" = "x" ]; then
-     echo "Error: cannot find clang-format in your path"
-     exit 1
-  fi
-fi
-
-OK=0
-
-for ARG in "$@"
-  do
-    ${CLANG_FORMAT} -style=llvm $ARG | diff -u $ARG - >&2
-
-    if [[ $? -eq 1 ]]; then
-      OK=1
-    fi
-  done
-
-if [[ $OK -eq "1" ]]; then
-  echo "Error: clang-format reported formatting differences"
-  exit 1
-else
-  echo "OK: clang-format reported no formatting differences"
-  exit 0
-fi
-

Removed: polly/trunk/utils/update_format.sh
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/utils/update_format.sh?rev=247580&view=auto
==============================================================================
--- polly/trunk/utils/update_format.sh (original)
+++ polly/trunk/utils/update_format.sh (removed)
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-CLANG_FORMAT=${CLANG_FORMAT}
-
-if [ "${CLANG_FORMAT}x" = "x" ]; then
-  CLANG_FORMAT=`which clang-format`
-  if [ "${CLANG_FORMAT}x" = "x" ]; then
-     echo "Error: cannot find clang-format in your path"
-     exit 1
-  fi
-fi
-
-for ARG in "$@"
-  do
-    ${CLANG_FORMAT} -i $ARG
-  done




More information about the llvm-commits mailing list