ccc: Don't be pedantically compatible with -Z options, these are the
result of an internal implementation detail of gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62389 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/Arguments.py b/tools/ccc/ccclib/Arguments.py
index ed9e1f2..ebdd3fd 100644
--- a/tools/ccc/ccclib/Arguments.py
+++ b/tools/ccc/ccclib/Arguments.py
@@ -525,11 +525,6 @@
         self.stdOption = self.addOption(JoinedOption('-std='))
         self.addOption(JoinedOrSeparateOption('--sysroot'))
 
-        # Version control
-        self.addOption(JoinedOrSeparateOption('-B'))
-        self.addOption(JoinedOrSeparateOption('-V'))
-        self.addOption(JoinedOrSeparateOption('-b'))
-
         # Blanket pass-through options.
 
         self.WaOption = self.addOption(CommaJoinedOption('-Wa,'))
@@ -557,21 +552,22 @@
         self.undefOption = self.addOption(FlagOption('-undef'))
 
         self.wOption = self.addOption(FlagOption('-w'))
-        self.addOption(JoinedOrSeparateOption('-allowable_client'))
+        self.bundle_loaderOption = self.addOption(SeparateOption('-bundle_loader'))
+        self.bundleOption = self.addOption(FlagOption('-bundle'))
         self.client_nameOption = self.addOption(JoinedOrSeparateOption('-client_name'))
         self.compatibility_versionOption = self.addOption(JoinedOrSeparateOption('-compatibility_version'))
         self.current_versionOption = self.addOption(JoinedOrSeparateOption('-current_version'))
         self.dependencyFileOption = self.addOption(SeparateOption('-dependency-file'))
-        self.dylinkerOption = self.addOption(FlagOption('-dylinker'))
+        self.dynamiclibOption = self.addOption(FlagOption('-dynamiclib'))
+        self.dynamicOption = self.addOption(FlagOption('-dynamic'))
         self.dylinker_install_nameOption = self.addOption(JoinedOrSeparateOption('-dylinker_install_name'))
-        self.addOption(JoinedOrSeparateOption('-exported_symbols_list'))
+        self.dylinkerOption = self.addOption(FlagOption('-dylinker'))
 
         self.iGroup = OptionGroup('-i')
         self.addOption(JoinedOrSeparateOption('-idirafter', self.iGroup))
         self.addOption(JoinedOrSeparateOption('-iquote', self.iGroup))
         self.isysrootOption = self.addOption(JoinedOrSeparateOption('-isysroot', self.iGroup))
         self.includeOption = self.addOption(JoinedOrSeparateOption('-include', self.iGroup))
-        self.addOption(JoinedOption('-i', self.iGroup))
 
         self.keep_private_externsOption = self.addOption(JoinedOrSeparateOption('-keep_private_externs'))
         self.private_bundleOption = self.addOption(FlagOption('-private_bundle'))
@@ -579,10 +575,8 @@
         self.segprotOption = self.addOption(JoinedOrSeparateOption('-segprot'))
         self.sub_libraryOption = self.addOption(JoinedOrSeparateOption('-sub_library'))
         self.sub_umbrellaOption = self.addOption(JoinedOrSeparateOption('-sub_umbrella'))
-        self.umbrellaOption = self.addOption(JoinedOrSeparateOption('-umbrella'))
+        self.umbrellaOption = self.addOption(SeparateOption('-umbrella'))
         self.undefinedOption = self.addOption(JoinedOrSeparateOption('-undefined'))
-        self.addOption(JoinedOrSeparateOption('-unexported_symbols_list'))
-        self.addOption(JoinedOrSeparateOption('-weak_framework'))
         self.headerpad_max_install_namesOption = self.addOption(JoinedOption('-headerpad_max_install_names'))
         self.twolevel_namespaceOption = self.addOption(FlagOption('-twolevel_namespace'))
         self.twolevel_namespace_hintsOption = self.addOption(FlagOption('-twolevel_namespace_hints'))
@@ -592,7 +586,6 @@
         self.prebind_all_twolevel_modulesOption = self.addOption(FlagOption('-prebind_all_twolevel_modules'))
         self.remapOption = self.addOption(FlagOption('-remap'))
         self.read_only_relocsOption = self.addOption(SeparateOption('-read_only_relocs'))
-        self.addOption(FlagOption('-single_module'))
         self.nomultidefsOption = self.addOption(FlagOption('-nomultidefs'))
         self.nostartfilesOption = self.addOption(FlagOption('-nostartfiles'))
         self.nodefaultlibsOption = self.addOption(FlagOption('-nodefaultlibs'))
@@ -612,13 +605,12 @@
         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'))
         self.traditionalCPPOption = self.addOption(FlagOption('-traditional-cpp'))
         # FIXME: Alias.
         self.addOption(FlagOption('--traditional'))
-        self.addOption(FlagOption('-no_dead_strip_inits_and_terms'))
+        self.no_dead_strip_inits_and_termsOption = self.addOption(FlagOption('-no_dead_strip_inits_and_terms'))
         self.addOption(JoinedOption('-weak-l', isLinkerInput=True))
         self.addOption(SeparateOption('-weak_framework', isLinkerInput=True))
         self.addOption(SeparateOption('-weak_library', isLinkerInput=True))
@@ -627,48 +619,41 @@
         self.sectalignOption = self.addOption(MultiArgOption('-sectalign', numArgs=3))
         self.sectobjectsymbolsOption = self.addOption(MultiArgOption('-sectobjectsymbols', numArgs=2))
         self.segcreateOption = self.addOption(MultiArgOption('-segcreate', numArgs=3))
-        self.segs_read_Option = self.addOption(JoinedOption('-segs_read_'))
         self.seglinkeditOption = self.addOption(FlagOption('-seglinkedit'))
         self.noseglinkeditOption = self.addOption(FlagOption('-noseglinkedit'))
         self.sectcreateOption = self.addOption(MultiArgOption('-sectcreate', numArgs=3))
         self.sectorderOption = self.addOption(MultiArgOption('-sectorder', numArgs=3))
-        self.Zall_loadOption = self.addOption(FlagOption('-Zall_load'))
-        self.Zallowable_clientOption = self.addOption(SeparateOption('-Zallowable_client'))
-        self.Zbind_at_loadOption = self.addOption(SeparateOption('-Zbind_at_load'))
-        self.ZbundleOption = self.addOption(FlagOption('-Zbundle'))
-        self.Zbundle_loaderOption = self.addOption(JoinedOrSeparateOption('-Zbundle_loader'))
-        self.Zdead_stripOption = self.addOption(FlagOption('-Zdead_strip'))
-        self.Zdylib_fileOption = self.addOption(JoinedOrSeparateOption('-Zdylib_file'))
-        self.ZdynamicOption = self.addOption(FlagOption('-Zdynamic'))
-        self.ZdynamiclibOption = self.addOption(FlagOption('-Zdynamiclib'))
-        self.Zexported_symbols_listOption = self.addOption(JoinedOrSeparateOption('-Zexported_symbols_list'))
-        self.Zflat_namespaceOption = self.addOption(FlagOption('-Zflat_namespace'))
-        self.Zfn_seg_addr_table_filenameOption = self.addOption(JoinedOrSeparateOption('-Zfn_seg_addr_table_filename'))
-        self.Zforce_cpusubtype_ALLOption = self.addOption(FlagOption('-Zforce_cpusubtype_ALL'))
-        self.Zforce_flat_namespaceOption = self.addOption(FlagOption('-Zforce_flat_namespace'))
-        self.Zimage_baseOption = self.addOption(FlagOption('-Zimage_base'))
-        self.ZinitOption = self.addOption(JoinedOrSeparateOption('-Zinit'))
-        self.Zmulti_moduleOption = self.addOption(FlagOption('-Zmulti_module'))
-        self.Zmultiply_definedOption = self.addOption(JoinedOrSeparateOption('-Zmultiply_defined'))
-        self.ZmultiplydefinedunusedOption = self.addOption(JoinedOrSeparateOption('-Zmultiplydefinedunused'))
-        self.ZmultiplydefinedunusedOption = self.addOption(JoinedOrSeparateOption('-Zmultiplydefinedunused'))
-        self.Zno_dead_strip_inits_and_termsOption = self.addOption(FlagOption('-Zno_dead_strip_inits_and_terms'))
-        self.Zseg_addr_tableOption = self.addOption(JoinedOrSeparateOption('-Zseg_addr_table'))
-        self.ZsegaddrOption = self.addOption(JoinedOrSeparateOption('-Zsegaddr'))
-        self.Zsegs_read_only_addrOption = self.addOption(JoinedOrSeparateOption('-Zsegs_read_only_addr'))
-        self.Zsegs_read_write_addrOption = self.addOption(JoinedOrSeparateOption('-Zsegs_read_write_addr'))
-        self.Zsingle_moduleOption = self.addOption(FlagOption('-Zsingle_module'))
-        self.ZumbrellaOption = self.addOption(JoinedOrSeparateOption('-Zumbrella'))
-        self.Zunexported_symbols_listOption = self.addOption(JoinedOrSeparateOption('-Zunexported_symbols_list'))
-        self.Zweak_reference_mismatchesOption = self.addOption(JoinedOrSeparateOption('-Zweak_reference_mismatches'))
+
+        self.all_loadOption = self.addOption(FlagOption('-all_load'))
+        self.allowable_clientOption = self.addOption(SeparateOption('-allowable_client'))
+        self.bind_at_loadOption = self.addOption(FlagOption('-bind_at_load'))
+        self.dead_stripOption = self.addOption(FlagOption('-dead_strip'))
+        self.dylib_fileOption = self.addOption(SeparateOption('-dylib_file'))
+        self.exported_symbols_listOption = self.addOption(SeparateOption('-exported_symbols_list'))
+        self.flat_namespaceOption = self.addOption(FlagOption('-flat_namespace'))
+        self.force_cpusubtype_ALLOption = self.addOption(FlagOption('-force_cpusubtype_ALL'))
+        self.force_flat_namespaceOption = self.addOption(FlagOption('-force_flat_namespace'))
+        self.image_baseOption = self.addOption(FlagOption('-image_base'))
+        self.initOption = self.addOption(SeparateOption('-init'))
+        self.install_nameOption = self.addOption(SeparateOption('-install_name'))
+        self.multi_moduleOption = self.addOption(FlagOption('-multi_module'))
+        self.multiply_definedOption = self.addOption(SeparateOption('-multiply_defined'))
+        self.multiply_defined_unusedOption = self.addOption(SeparateOption('-multiply_defined_unused'))
+        self.seg_addr_table_filenameOption = self.addOption(SeparateOption('-seg_addr_table_filename'))
+        self.seg_addr_tableOption = self.addOption(SeparateOption('-seg_addr_table'))
+        self.segaddrOption = self.addOption(SeparateOption('-segaddr'))
+        self.segs_read_only_addrOption = self.addOption(SeparateOption('-segs_read_only_addr'))
+        self.segs_read_write_addrOption = self.addOption(SeparateOption('-segs_read_write_addr'))
+        # FIXME: This probably isn't necessary.
+        self.segs_read_Option = self.addOption(JoinedOption('-segs_read_'))
+        self.single_moduleOption = self.addOption(FlagOption('-single_module'))
+        self.unexported_symbols_listOption = self.addOption(SeparateOption('-unexported_symbols_list'))
+        self.weak_reference_mismatchesOption = self.addOption(SeparateOption('-weak_reference_mismatches'))
 
         self.addOption(SeparateOption('-filelist', isLinkerInput=True))
         self.addOption(SeparateOption('-framework', isLinkerInput=True))
-        # FIXME: Alias.
-        self.addOption(SeparateOption('-install_name'))
-        self.Zinstall_nameOption = self.addOption(JoinedOrSeparateOption('-Zinstall_name'))
-        self.addOption(SeparateOption('-seg_addr_table'))
-        self.addOption(SeparateOption('-seg_addr_table_filename'))
+
+        self.addOption(JoinedOption('-i', self.iGroup))
 
         # Where are these coming from? I can't find them...
         self.eOption = self.addOption(JoinedOrSeparateOption('-e'))
@@ -838,6 +823,11 @@
         self.pthreadOption = self.addOption(FlagOption('-pthread'))
         self.addOption(FlagOption('-pthreads'))
 
+        # Version control
+        self.addOption(JoinedOrSeparateOption('-B'))
+        self.addOption(JoinedOrSeparateOption('-V'))
+        self.addOption(JoinedOrSeparateOption('-b'))
+
     def addOption(self, opt):
         self.options.append(opt)
         return opt