]> granicus.if.org Git - clang/commitdiff
ccc: Handle a few long argument form (--) translations using option
authorDaniel Dunbar <daniel@zuster.org>
Wed, 21 Jan 2009 18:49:34 +0000 (18:49 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 21 Jan 2009 18:49:34 +0000 (18:49 +0000)
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

tools/ccc/ccclib/Arguments.py
tools/ccc/ccclib/Driver.py

index c79161ebae9e676440ee98f6b4a493b23a9250cd..2aefa04ebfed83052e2e370be3d69c2932d2bc4a 100644 (file)
@@ -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))
index 7f6082d953ce64905a18d76fb2cbee48e35ac583..3452ed173b23874b7cf8c7b3fff283ad46d07610 100644 (file)
@@ -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)