[llvm] r236929 - Add polly support to sort_includes.py

Tobias Grosser tobias at grosser.es
Sat May 9 02:08:56 PDT 2015


Author: grosser
Date: Sat May  9 04:08:56 2015
New Revision: 236929

URL: http://llvm.org/viewvc/llvm-project?rev=236929&view=rev
Log:
Add polly support to sort_includes.py

Changes:
 -  Add "isl/" as a system library prefix. Even though isl is regularly
    imported into polly, it is still used like an external library.
 -  Add "json/" as a system library prefix. Polly uses json-cpp as external
    library.
 -  Distinguish between llvm and subproject libraries. Always sort subprojects
    before LLVM. This was already the case with clang, as 'clang' comes before
    'llvm', but we also want 'polly' to be sorted before 'llvm'.

The sorting of headers that are not part of Polly or isl remains unchanged.

Modified:
    llvm/trunk/utils/sort_includes.py

Modified: llvm/trunk/utils/sort_includes.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/sort_includes.py?rev=236929&r1=236928&r2=236929&view=diff
==============================================================================
--- llvm/trunk/utils/sort_includes.py (original)
+++ llvm/trunk/utils/sort_includes.py Sat May  9 04:08:56 2015
@@ -29,7 +29,8 @@ def sort_includes(f):
   headers_end = 0
   api_headers = []
   local_headers = []
-  project_headers = []
+  subproject_headers = []
+  llvm_headers = []
   system_headers = []
   for (i, l) in enumerate(lines):
     if l.strip() == '':
@@ -44,12 +45,16 @@ def sort_includes(f):
         api_headers.append(header)
         look_for_api_header = False
         continue
-      if header.startswith('<') or header.startswith('"gtest/'):
+      if (header.startswith('<') or header.startswith('"gtest/') or
+          header.startswith('"isl/') or header.startswith('"json/')):
         system_headers.append(header)
         continue
-      if (header.startswith('"llvm/') or header.startswith('"llvm-c/') or
-          header.startswith('"clang/') or header.startswith('"clang-c/')):
-        project_headers.append(header)
+      if (header.startswith('"clang/') or header.startswith('"clang-c/') or
+          header.startswith('"polly/')):
+        subproject_headers.append(header)
+        continue
+      if (header.startswith('"llvm/') or header.startswith('"llvm-c/')):
+        llvm_headers.append(header)
         continue
       local_headers.append(header)
       continue
@@ -65,9 +70,10 @@ def sort_includes(f):
     return
 
   local_headers = sorted(set(local_headers))
-  project_headers = sorted(set(project_headers))
+  subproject_headers = sorted(set(subproject_headers))
+  llvm_headers = sorted(set(llvm_headers))
   system_headers = sorted(set(system_headers))
-  headers = api_headers + local_headers + project_headers + system_headers
+  headers = api_headers + local_headers + subproject_headers + llvm_headers + system_headers
   header_lines = ['#include ' + h for h in headers]
   lines = lines[:headers_begin] + header_lines + lines[headers_end + 1:]
 





More information about the llvm-commits mailing list