ccc: -x assembler-with-cpp was broken for darwin, and it wasn't using
clang as the preprocessor even when it should.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66737 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/Tools.py b/tools/ccc/ccclib/Tools.py
index 53fe38d..f4b8683 100644
--- a/tools/ccc/ccclib/Tools.py
+++ b/tools/ccc/ccclib/Tools.py
@@ -193,7 +193,13 @@
         elif outputType is Types.LLVMBCType:
             cmd_args.append('-emit-llvm-bc')
         elif outputType is Types.AsmTypeNoPP:
-            cmd_args.append('-S')
+            # FIXME: This is hackish, it would be better if we had the
+            # action instead of just looking at types.
+            assert len(inputs) == 1
+            if inputs[0].type is Types.AsmType:
+                cmd_args.append('-E')
+            else:
+                cmd_args.append('-S')
         elif (inputs[0].type.preprocess and 
               outputType is inputs[0].type.preprocess):
             cmd_args.append('-E')
@@ -453,7 +459,9 @@
         """getCC1Name(type) -> name, use-cpp, is-cxx"""
         
         # FIXME: Get bool results from elsewhere.
-        if type is Types.CType or type is Types.CHeaderType:
+        if type is Types.AsmType:
+            return 'cc1',True,False
+        elif type is Types.CType or type is Types.CHeaderType:
             return 'cc1',True,False
         elif type is Types.CTypeNoPP or type is Types.CHeaderNoPPType:
             return 'cc1',False,False