summaryrefslogtreecommitdiff
path: root/utils/sort_includes.py
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2015-05-09 09:08:56 +0000
committerTobias Grosser <tobias@grosser.es>2015-05-09 09:08:56 +0000
commitfcae7eada13c33d57ac52ba56d875ffd25333f63 (patch)
tree0be0ceede3a595a05c5f985e42e878e99c98c0d5 /utils/sort_includes.py
parent31e094b55d95a2ff61d88960543a279733dcb951 (diff)
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236929 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/sort_includes.py')
-rwxr-xr-xutils/sort_includes.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/utils/sort_includes.py b/utils/sort_includes.py
index fef97550db8..70bfdedfc6d 100755
--- a/utils/sort_includes.py
+++ b/utils/sort_includes.py
@@ -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:]