Change ccc to not pass -x unknown down.

Pass through some more Mac OS X linker options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56853 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/ccc b/utils/ccc
index 4a4b53d..e2ede50 100755
--- a/utils/ccc
+++ b/utils/ccc
@@ -169,7 +169,7 @@
     elif extension == "S":
         return "assembler-with-cpp"
     else:
-        return "unknown"
+        return ""
 
 def main(args):
     action = 'link'
@@ -228,9 +228,14 @@
             compile_opts.append(args[i+1])
             i += 1
 
+        # Options with no arguments that should pass through
+        if arg in ('-dynamiclib',):
+            link_opts.append(arg)
+
         # Options with one argument that should pass through
         if arg in ('-framework', '-multiply_defined', '-bundle_loader',
-                   '-e'):
+                   '-e', '-unexported_symbols_list', '-install_name',
+                   '-compatibility_version', '-current_version'):
             link_opts.append(arg)
             link_opts.append(args[i+1])
             i += 1
@@ -299,10 +304,13 @@
                 files[i] = poutput
             else:
                 poutput = output
+            args = []
+            if language:
+                args.extend(['-x', language])
             if poutput:
-                args = ['-x', language, '-o', poutput, file] + compile_opts
+                args += ['-o', poutput, file] + compile_opts
             else:
-                args = ['-x', language, file] + compile_opts
+                args += [file] + compile_opts
             preprocess(args)
             # Discard the explicit language after used once
             language = ''
@@ -319,7 +327,10 @@
                 coutput = changeextension(file, "o")
             else:
                 coutput = output
-            args = ['-x', language, '-o', coutput, file] + compile_opts
+            args = []
+            if language:
+                args.extend(['-x', language])
+            args += ['-o', coutput, file] + compile_opts
             checked_compile(args, native, language, save_temps)
             language = ''
 
@@ -330,7 +341,10 @@
             ext = extension(file)
             if ext != "o" and ext != "a" and ext != "so":
                 out = changeextension(file, "o")
-                args = ['-x', language, '-o', out, file] + compile_opts
+                args = []
+                if language:
+                    args.extend(['-x', language])
+                args = ['-o', out, file] + compile_opts
                 checked_compile(args, native, language, save_temps)
                 language = ''
                 files[i] = out