summaryrefslogtreecommitdiff
path: root/bin/find-unused-typedefs.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/find-unused-typedefs.py')
-rwxr-xr-xbin/find-unused-typedefs.py23
1 files changed, 20 insertions, 3 deletions
diff --git a/bin/find-unused-typedefs.py b/bin/find-unused-typedefs.py
index e292f097526a..1f3395835b89 100755
--- a/bin/find-unused-typedefs.py
+++ b/bin/find-unused-typedefs.py
@@ -2,8 +2,11 @@
import subprocess
-a = subprocess.Popen("git grep -P '^typedef\s+.+\s+\w+;' -- \"[!e][!x][!t]*\"", stdout=subprocess.PIPE, shell=True)
+# find typedefs, excluding the externals folder
+a = subprocess.Popen("git grep -P 'typedef\s+.+\s+\w+;' -- \"[!e][!x][!t]*\"", stdout=subprocess.PIPE, shell=True)
+# parse out the typedef names
+typedefSet = set()
with a.stdout as txt:
for line in txt:
idx2 = line.rfind(";")
@@ -12,6 +15,20 @@ with a.stdout as txt:
if typedefName.startswith("*"):
typedefName = typedefName[1:]
# ignore anything less than 5 characters, it's probably a parsing error
- if len(typedefName) > 4:
- print typedefName
+ if len(typedefName) < 5: continue
+ typedefSet.add(typedefName)
+
+for typedefName in sorted(typedefSet):
+ print("checking: " + typedefName)
+ a = subprocess.Popen(["git", "grep", "-wn", typedefName], stdout=subprocess.PIPE)
+ foundLine2 = ""
+ cnt = 0
+ with a.stdout as txt2:
+ for line2 in txt2:
+ cnt = cnt + 1
+ foundLine2 += line2
+ if cnt == 1:
+ print("remove: " + foundLine2)
+ elif cnt == 2:
+ print("inline: " + foundLine2)