summaryrefslogtreecommitdiff
path: root/bin/find-unneeded-includes
diff options
context:
space:
mode:
Diffstat (limited to 'bin/find-unneeded-includes')
-rwxr-xr-xbin/find-unneeded-includes9
1 files changed, 8 insertions, 1 deletions
diff --git a/bin/find-unneeded-includes b/bin/find-unneeded-includes
index 3a4e303bbfe6..d3177af8336a 100755
--- a/bin/find-unneeded-includes
+++ b/bin/find-unneeded-includes
@@ -153,9 +153,14 @@ def processIWYUOutput(iwyuOutput, moduleRules):
inRemove = False
toRemove = []
currentFileName = None
+
for line in iwyuOutput:
line = line.strip()
+ # Bail out if IWYU gave an error due to non self-containedness
+ if re.match ("(.*): error: (.*)", line):
+ return -1
+
if len(line) == 0:
if inRemove:
inRemove = False
@@ -208,7 +213,9 @@ def run_tool(task_queue, failed_files):
print("[IWYU] " + invocation.split(' ')[-1])
p = subprocess.Popen(invocation, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
retcode = processIWYUOutput(p.communicate()[0].decode('utf-8').splitlines(), moduleRules)
- if retcode != 0:
+ if retcode == -1:
+ print("ERROR: A file is probably not self contained, check this commands output:\n" + invocation)
+ elif retcode > 0:
print("ERROR: The following command found unused includes:\n" + invocation)
failed_files.append(invocation)
task_queue.task_done()