ccc/Driver: .s defaults to 'assembler-with-cpp' on Darwin.
 - <rdar://problem/6669441> ccc doesn't handle assembler-with-cpp
   semantics correctly (but clang supports it)

 - This is sad, because it requires a fairly useless target
   hook. C'est la vie.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67418 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index 2c32401..40c6e50 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -445,9 +445,11 @@
           Ty = types::TY_C;
         } else {
           // Otherwise lookup by extension, and fallback to ObjectType
-          // if not found.
+          // if not found. We use a host hook here because Darwin at
+          // least has its own idea of what .s is.
           if (const char *Ext = strrchr(Value, '.'))
-            Ty = types::lookupTypeForExtension(Ext + 1);
+            Ty = Host->lookupTypeForExtension(Ext + 1);
+
           if (Ty == types::TY_INVALID)
             Ty = types::TY_Object;
         }