From e81d56719791c0d8d90ce75ef1060ad50907a304 Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Sat, 16 Jan 2016 14:52:17 +1100
Subject: [PATCH] De-duplicate arg removal

---
 .../externaltools/qtc_assembler_preview.py    | 36 ++++++++++---------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/utils_ide/qtcreator/externaltools/qtc_assembler_preview.py b/utils_ide/qtcreator/externaltools/qtc_assembler_preview.py
index f661bc0..2c6fdb3 100755
--- a/utils_ide/qtcreator/externaltools/qtc_assembler_preview.py
+++ b/utils_ide/qtcreator/externaltools/qtc_assembler_preview.py
@@ -109,23 +109,27 @@ def main():
         del arg_split[:i + 1] 
 
     if COMPILER_ID == 'GCC':
-        # remove arg pairs
-        for arg, n in (("-o", 2), ("-MF", 2), ("-MT", 2), ("-MMD", 1)):
-            if arg in arg_split:
-                i = arg_split.index(arg)
-                del arg_split[i : i + n]
-
         # --- Switch debug for optimized ---
-        for arg, n in (("-O0", 1),
-                       (re.compile(r"\-g\d*"), 1),
-                       (re.compile(r"\-ggdb\d*"), 1),
-                       ("-fno-inline", 1),
-                       ("-fno-builtin", 1),
-                       ("-fno-nonansi-builtins", 1),
-                       ("-fno-common", 1),
-                       (re.compile(r"\-fsanitize=[^\s]+"), 1),
-                       ("-DDEBUG", 1), ("-D_DEBUG", 1),
-                       ):
+        for arg, n in (
+                # regular flags which prevent asm output
+                ("-o", 2),
+                ("-MF", 2),
+                ("-MT", 2),
+                ("-MMD", 1),
+
+                # debug flags
+                ("-O0", 1),
+                (re.compile(r"\-g\d*"), 1),
+                (re.compile(r"\-ggdb\d*"), 1),
+                ("-fno-inline", 1),
+                ("-fno-builtin", 1),
+                ("-fno-nonansi-builtins", 1),
+                ("-fno-common", 1),
+                ("-DDEBUG", 1), ("-D_DEBUG", 1),
+
+                # asan flags
+                (re.compile(r"\-fsanitize=.*"), 1),
+                ):
             if isinstance(arg, str):
                 # exact string compare
                 while arg in arg_split:
-- 
GitLab