clang-cl: Parse the /arch, /Yu and /Fp options (PR17736)

We don't support these options, but should at least parse them.

llvm-svn: 193702
diff --git a/clang/include/clang/Driver/CLCompatOptions.td b/clang/include/clang/Driver/CLCompatOptions.td
index a363ea5..13eeb7e 100644
--- a/clang/include/clang/Driver/CLCompatOptions.td
+++ b/clang/include/clang/Driver/CLCompatOptions.td
@@ -168,10 +168,12 @@
 
 // Unsupported:
 
+def _SLASH_arch : CLJoined<"arch:">;
 def _SLASH_bigobj : CLFlag<"bigobj">;
 def _SLASH_EH : CLJoined<"EH">;
 def _SLASH_FA_joined : CLJoined<"FA">;
 def _SLASH_Fd : CLJoined<"Fd">;
+def _SLASH_Fp : CLJoined<"Fp">;
 def _SLASH_fp : CLJoined<"fp">;
 def _SLASH_Gd : CLFlag<"Gd">;
 def _SLASH_GL : CLFlag<"GL">;
@@ -188,6 +190,7 @@
 def _SLASH_vmm : CLFlag<"vmm">;
 def _SLASH_vms : CLFlag<"vms">;
 def _SLASH_vmv : CLFlag<"vmv">;
+def _SLASH_Yu : CLJoined<"Yu">;
 def _SLASH_Za : CLFlag<"Za">;
 def _SLASH_Zc : CLJoined<"Zc:">;
 def _SLASH_ZI : CLFlag<"ZI">;
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
index 4d0c3ed..d8c9701 100644
--- a/clang/test/Driver/cl-options.c
+++ b/clang/test/Driver/cl-options.c
@@ -120,6 +120,7 @@
 
 // Unsupported but parsed options. Check that we don't error on them.
 // (/Zs is for syntax-only)
+// RUN: %clang_cl /Zs /arch:sse2 /Yustdafx.h /FpDebug\main.pch -- %s 2>&1
 // RUN: %clang_cl /Zs /EHsc /Fdfoo /fp:precise /Gd /GL /GL- -- %s 2>&1
 // RUN: %clang_cl /Zs /Gm /Gm- /GS /Gy /Gy- /GZ -- %s 2>&1
 // RUN: %clang_cl /Zs /ofoo.obj /o foo.obj -- %s 2>&1