ccc: (Darwin) More argument translation for Darwin/Compile tool.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62089 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/Arguments.py b/tools/ccc/ccclib/Arguments.py
index 1409a28..f98b7c8 100644
--- a/tools/ccc/ccclib/Arguments.py
+++ b/tools/ccc/ccclib/Arguments.py
@@ -452,7 +452,10 @@
 
         # FIXME: Weird, gcc claims this here in help but I'm not sure why;
         # perhaps interaction with preprocessor? Investigate.
-        self.addOption(JoinedOption('-std='))
+        
+        # FIXME: This is broken in Darwin cc1, it wants std* and this
+        # is std=. May need an option group for this as well.
+        self.stdOption = self.addOption(JoinedOption('-std='))
         self.addOption(JoinedOrSeparateOption('--sysroot'))
 
         # Version control
@@ -484,7 +487,7 @@
         self.MTOption = self.addOption(JoinedOrSeparateOption('-MT'))
         self.MQOption = self.addOption(JoinedOrSeparateOption('-MQ'))
         self.MachOption = self.addOption(FlagOption('-Mach'))
-        self.addOption(FlagOption('-undef'))
+        self.undefOption = self.addOption(FlagOption('-undef'))
 
         self.wOption = self.addOption(FlagOption('-w'))
         self.addOption(JoinedOrSeparateOption('-allowable_client'))
@@ -535,6 +538,7 @@
         self.addOption(FlagOption('-R'))
         self.POption = self.addOption(FlagOption('-P'))
         self.QOption = self.addOption(FlagOption('-Q'))
+        self.QnOption = self.addOption(FlagOption('-Qn'))
         self.addOption(FlagOption('-all_load'))
         self.addOption(FlagOption('--constant-cfstrings'))
         self.traditionalOption = self.addOption(FlagOption('-traditional'))
@@ -597,9 +601,8 @@
         self.eOption = self.addOption(JoinedOrSeparateOption('-e'))
         self.rOption = self.addOption(JoinedOrSeparateOption('-r'))
 
-        # Is this actually declared anywhere? I can only find it in a
-        # spec. :(
         self.pgOption = self.addOption(FlagOption('-pg'))
+        self.pOption = self.addOption(FlagOption('-p'))
 
         doNotReallySupport = 1
         if doNotReallySupport:
@@ -650,6 +653,10 @@
         self.g3Option = self.addOption(JoinedOption('-g3'))
         self.gOption = self.addOption(JoinedOption('-g'))
 
+        self.fastOption = self.addOption(FlagOption('-fast'))
+        self.fastfOption = self.addOption(FlagOption('-fastf'))
+        self.fastcpOption = self.addOption(FlagOption('-fastcp'))
+
         self.f_appleKextOption = self.addOption(FlagOption('-fapple-kext'))
         self.f_exceptionsOption = self.addOption(FlagOption('-fexceptions'))
         self.f_objcOption = self.addOption(FlagOption('-fobjc'))
@@ -679,12 +686,16 @@
         self.mOption = self.addOption(SeparateOption('-m'))
         self.addOption(JoinedOption('-m'))
 
+        self.ansiOption = self.addOption(FlagOption('-ansi'))
+        self.trigraphsOption = self.addOption(FlagOption('-trigraphs'))
+        self.pedanticOption = self.addOption(FlagOption('-pedantic'))
         self.addOption(JoinedOption('-i'))
-        self.addOption(JoinedOption('-O'))
-        self.addOption(JoinedOption('-W'))
+        self.OOption = self.addOption(JoinedOption('-O'))
+        self.WOption = self.addOption(JoinedOption('-W'))
         # FIXME: Weird. This option isn't really separate, --param=a=b
-        # works. An alias somewhere?
-        self.addOption(SeparateOption('--param'))
+        # works. There is something else going on which interprets the
+        # '='.
+        self._paramOption = self.addOption(SeparateOption('--param'))
 
         # FIXME: What is this? Seems to do something on Linux. I think
         # only one is valid, but have a log that uses both.