ccc: Handle a few long argument form (--) translations using option
groups, and fix misdeclaration of some -W options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62702 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/Arguments.py b/tools/ccc/ccclib/Arguments.py
index c79161e..2aefa04 100644
--- a/tools/ccc/ccclib/Arguments.py
+++ b/tools/ccc/ccclib/Arguments.py
@@ -475,17 +475,19 @@
self.dumpversionOption = self.addOption(FlagOption('-dumpversion'))
self.dumpmachineOption = self.addOption(FlagOption('-dumpmachine'))
self.printSearchDirsOption = self.addOption(FlagOption('-print-search-dirs'))
- self.printLibgccFileNameOption = self.addOption(FlagOption('-print-libgcc-file-name'))
- # FIXME: Hrm, where does this come from? It isn't always true that
- # we take both - and --. For example, gcc --S ... ends up sending
- # -fS to cc1. Investigate.
- #
- # FIXME: Need to implement some form of alias support inside
- # getLastOption to handle this.
- self.printLibgccFileNameOption2 = self.addOption(FlagOption('--print-libgcc-file-name'))
- self.printFileNameOption = self.addOption(JoinedOption('-print-file-name='))
- self.printProgNameOption = self.addOption(JoinedOption('-print-prog-name='))
- self.printProgNameOption2 = self.addOption(JoinedOption('--print-prog-name='))
+
+ self.printLibgccFileNameOption = OptionGroup('-print-libgcc-file-name')
+ self.addOption(FlagOption('-print-libgcc-file-name', self.printLibgccFileNameOption))
+ self.addOption(FlagOption('--print-libgcc-file-name', self.printLibgccFileNameOption))
+
+ self.printFileNameOption = OptionGroup('-print-file-name=')
+ self.addOption(JoinedOption('-print-file-name=', self.printFileNameOption))
+ self.addOption(JoinedOption('--print-file-name=', self.printFileNameOption))
+
+ self.printProgNameOption = OptionGroup('-print-prog-name=')
+ self.addOption(JoinedOption('-print-prog-name=', self.printProgNameOption))
+ self.addOption(JoinedOption('--print-prog-name=', self.printProgNameOption))
+
self.printMultiDirectoryOption = self.addOption(FlagOption('-print-multi-directory'))
self.printMultiLibOption = self.addOption(FlagOption('-print-multi-lib'))
self.addOption(FlagOption('-print-multi-os-directory'))
@@ -501,8 +503,11 @@
self.combineOption = self.addOption(FlagOption('-combine'))
self.noIntegratedCPPOption = self.addOption(FlagOption('-no-integrated-cpp'))
self.pipeOption = self.addOption(FlagOption('-pipe'))
- self.saveTempsOption = self.addOption(FlagOption('-save-temps'))
- self.saveTempsOption2 = self.addOption(FlagOption('--save-temps'))
+
+ self.saveTempsOption = OptionGroup('-save-temps')
+ self.addOption(FlagOption('-save-temps', self.saveTempsOption))
+ self.addOption(FlagOption('--save-temps', self.saveTempsOption))
+
# FIXME: Error out if this is used.
self.addOption(JoinedOption('-specs='))
# FIXME: Implement.
@@ -806,13 +811,13 @@
self.WGroup = OptionGroup('-W')
self.ClangWGroup = OptionGroup('-W', self.WGroup)
- self.addOption(JoinedOption('-Wunused-macros', self.ClangWGroup))
- self.addOption(JoinedOption('-Wfloat-equal', self.ClangWGroup))
- self.addOption(JoinedOption('-Wreadonly-setter-attrs', self.ClangWGroup))
- self.addOption(JoinedOption('-Wno-format-nonliteral', self.ClangWGroup))
- self.addOption(JoinedOption('-Wundef', self.ClangWGroup))
- self.addOption(JoinedOption('-Wimplicit-function-declaration', self.ClangWGroup))
- self.addOption(JoinedOption('-Wno-strict-selector-match', self.ClangWGroup))
+ self.addOption(FlagOption('-Wunused-macros', self.ClangWGroup))
+ self.addOption(FlagOption('-Wfloat-equal', self.ClangWGroup))
+ self.addOption(FlagOption('-Wreadonly-setter-attrs', self.ClangWGroup))
+ self.addOption(FlagOption('-Wno-format-nonliteral', self.ClangWGroup))
+ self.addOption(FlagOption('-Wundef', self.ClangWGroup))
+ self.addOption(FlagOption('-Wimplicit-function-declaration', self.ClangWGroup))
+ self.addOption(FlagOption('-Wno-strict-selector-match', self.ClangWGroup))
self.WnonportableCfstringsOption = self.addOption(JoinedOption('-Wnonportable-cfstrings', self.WGroup))
self.WnoNonportableCfstringsOption = self.addOption(JoinedOption('-Wno-nonportable-cfstrings', self.WGroup))