diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-01-21 18:49:34 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-01-21 18:49:34 +0000 |
commit | ab95c3959fbdcaab80b1df3b96a7c16e896b24b9 (patch) | |
tree | fc847243030cb80d9097aa4b5ed3167efc5dbd1c | |
parent | e56f6ffb12bfd9081063128d2cda8b77188c8889 (diff) |
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
-rw-r--r-- | tools/ccc/ccclib/Arguments.py | 45 | ||||
-rw-r--r-- | tools/ccc/ccclib/Driver.py | 6 |
2 files changed, 27 insertions, 24 deletions
diff --git a/tools/ccc/ccclib/Arguments.py b/tools/ccc/ccclib/Arguments.py index c79161ebae..2aefa04ebf 100644 --- a/tools/ccc/ccclib/Arguments.py +++ b/tools/ccc/ccclib/Arguments.py @@ -475,17 +475,19 @@ class OptionParser: 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 @@ class OptionParser: 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 @@ class OptionParser: 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)) diff --git a/tools/ccc/ccclib/Driver.py b/tools/ccc/ccclib/Driver.py index 7f6082d953..3452ed173b 100644 --- a/tools/ccc/ccclib/Driver.py +++ b/tools/ccc/ccclib/Driver.py @@ -538,8 +538,7 @@ class Driver(object): archs = {} hasDashM = args.getLastArg(self.parser.MGroup) - hasSaveTemps = (args.getLastArg(self.parser.saveTempsOption) or - args.getLastArg(self.parser.saveTempsOption2)) + hasSaveTemps = args.getLastArg(self.parser.saveTempsOption) for arg in args: if arg.opt is self.parser.archOption: # FIXME: Canonicalize this. @@ -602,8 +601,7 @@ class Driver(object): jobs = Jobs.JobList() finalOutput = args.getLastArg(self.parser.oOption) - hasSaveTemps = (args.getLastArg(self.parser.saveTempsOption) or - args.getLastArg(self.parser.saveTempsOption2)) + hasSaveTemps = args.getLastArg(self.parser.saveTempsOption) hasNoIntegratedCPP = args.getLastArg(self.parser.noIntegratedCPPOption) hasTraditionalCPP = args.getLastArg(self.parser.traditionalCPPOption) hasPipe = args.getLastArg(self.parser.pipeOption) |