diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/utils/sort_includes.py | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/utils/sort_includes.py')
| -rwxr-xr-x | gnu/llvm/utils/sort_includes.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/gnu/llvm/utils/sort_includes.py b/gnu/llvm/utils/sort_includes.py deleted file mode 100755 index 70bfdedfc6d..00000000000 --- a/gnu/llvm/utils/sort_includes.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python - -"""Script to sort the top-most block of #include lines. - -Assumes the LLVM coding conventions. - -Currently, this script only bothers sorting the llvm/... headers. Patches -welcome for more functionality, and sorting other header groups. -""" - -import argparse -import os - -def sort_includes(f): - """Sort the #include lines of a specific file.""" - - # Skip files which are under INPUTS trees or test trees. - if 'INPUTS/' in f.name or 'test/' in f.name: - return - - ext = os.path.splitext(f.name)[1] - if ext not in ['.cpp', '.c', '.h', '.inc', '.def']: - return - - lines = f.readlines() - look_for_api_header = ext in ['.cpp', '.c'] - found_headers = False - headers_begin = 0 - headers_end = 0 - api_headers = [] - local_headers = [] - subproject_headers = [] - llvm_headers = [] - system_headers = [] - for (i, l) in enumerate(lines): - if l.strip() == '': - continue - if l.startswith('#include'): - if not found_headers: - headers_begin = i - found_headers = True - headers_end = i - header = l[len('#include'):].lstrip() - if look_for_api_header and header.startswith('"'): - api_headers.append(header) - look_for_api_header = False - continue - if (header.startswith('<') or header.startswith('"gtest/') or - header.startswith('"isl/') or header.startswith('"json/')): - system_headers.append(header) - continue - 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 - - # Only allow comments and #defines prior to any includes. If either are - # mixed with includes, the order might be sensitive. - if found_headers: - break - if l.startswith('//') or l.startswith('#define') or l.startswith('#ifndef'): - continue - break - if not found_headers: - return - - 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:] - - f.seek(0) - f.truncate() - f.writelines(lines) - -def main(): - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('files', nargs='+', type=argparse.FileType('r+'), - help='the source files to sort includes within') - args = parser.parse_args() - for f in args.files: - sort_includes(f) - -if __name__ == '__main__': - main() |
