handle -arch and -isysroot correctly (like ccc-analyszer do).
Patch by Filipe Cabecinhas

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52417 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/ccc b/utils/ccc
index fd909f9..b58bf61 100755
--- a/utils/ccc
+++ b/utils/ccc
@@ -111,24 +111,34 @@
         if arg[:5] in ['-std=']:
             compile_opts.append(arg)
 
-        # Options with one argument that should pass through
-        if arg in ['-include', '-isysroot', '-arch']:
+        # Options with one argument that should pass through to compiler
+        if arg in [ '-include', '-idirafter', '-iprefix',
+                    '-iquote', '-isystem', '-iwithprefix',
+                    '-iwithprefixbefore']:
             compile_opts.append(arg)
             compile_opts.append(args[i+1])
             i += 1
 
+        # Options with one argument that should pass through
+        if arg in ['-framework']:
+            link_opts.append(arg)
+            link_opts.append(args[i+1])
+            i += 1
+
+        # Options with one argument that should pass through to both
+        if arg in ['-isysroot', '-arch']:
+            compile_opts.append(arg)
+            compile_opts.append(args[i+1])
+            link_opts.append(arg)
+            link_opts.append(args[i+1])
+            i += 1
+
         # Prefix matches for the link mode
         if arg[:2] in ['-l', '-L', '-O', '-F']:
             if arg == '-O': arg = '-O1'
             if arg == '-Os': arg = '-O2'
             link_opts.append(arg)
 
-        # Options with one argument that should pass through
-        if arg in ['-framework', '-isysroot', '-arch']:
-            link_opts.append(arg)
-            link_opts.append(args[i+1])
-            i += 1
-
         # Input files
         if arg == '-filelist':
             f = open(args[i+1])