[lit] Fix handling of per test timeout when the installed psutil version
[oota-llvm.git] / utils / sort_includes.py
index 8ff7d059c4fd52239377d2ca5b02f0f68632d5ec..70bfdedfc6d32ad1572bae3c80a96e64955e1248 100755 (executable)
@@ -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
@@ -64,10 +69,11 @@ def sort_includes(f):
   if not found_headers:
     return
 
-  local_headers.sort()
-  project_headers.sort()
-  system_headers.sort()
-  headers = api_headers + local_headers + project_headers + system_headers
+  local_headers = sorted(set(local_headers))
+  subproject_headers = sorted(set(subproject_headers))
+  llvm_headers = sorted(set(llvm_headers))
+  system_headers = sorted(set(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:]