aboutsummaryrefslogtreecommitdiff
path: root/tools/ccc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ccc')
-rw-r--r--tools/ccc/ccclib/Arguments.py5
-rw-r--r--tools/ccc/ccclib/Tools.py5
2 files changed, 8 insertions, 2 deletions
diff --git a/tools/ccc/ccclib/Arguments.py b/tools/ccc/ccclib/Arguments.py
index 0f258cfda4..dcf1e70188 100644
--- a/tools/ccc/ccclib/Arguments.py
+++ b/tools/ccc/ccclib/Arguments.py
@@ -768,6 +768,11 @@ class OptionParser:
# want to avoid passing them to gcc/cc1 (which will generally
# not eat them), or should we let the user sort it out.
+ self.fblocksGroup = OptionGroup('-fblocks')
+ self.f_blocks = self.addOption(FlagOption('-fblocks', self.fblocksGroup))
+ self.f_noblocks = self.addOption(FlagOption('-fno-blocks', self.fblocksGroup))
+ # self.fblocksOption = self.addOption(JoinedOption('-fblocks', self.fblocksGroup))
+
self.fGroup = OptionGroup('-f')
self.fastOption = self.addOption(FlagOption('-fast', self.fGroup))
self.fastfOption = self.addOption(FlagOption('-fastf', self.fGroup))
diff --git a/tools/ccc/ccclib/Tools.py b/tools/ccc/ccclib/Tools.py
index 6156684ca5..a86ab9ba9f 100644
--- a/tools/ccc/ccclib/Tools.py
+++ b/tools/ccc/ccclib/Tools.py
@@ -305,8 +305,7 @@ class Clang_CompileTool(Tool):
cmd_args.append('-token-cache')
cmd_args.append(pthPath)
- # FIXME: Dehardcode this.
- cmd_args.append('-fblocks')
+ arglist.addAllArgs(cmd_args, arglist.parser.fblocksGroup)
arglist.addAllArgs(cmd_args, arglist.parser.OOption)
arglist.addAllArgs2(cmd_args, arglist.parser.ClangWGroup, arglist.parser.pedanticGroup)
@@ -466,6 +465,7 @@ class Darwin_X86_CC1Tool(Tool):
# ccc treats -fsyntax-only specially.
arglist.addAllArgs2(cmd_args, arglist.parser.fGroup,
arglist.parser.syntaxOnlyOption)
+ arglist.addAllArgs(cmd_args, arglist.parser.fblocksGroup)
arglist.addAllArgs(cmd_args, arglist.parser.undefOption)
if arglist.getLastArg(arglist.parser.QnOption):
@@ -538,6 +538,7 @@ class Darwin_X86_CC1Tool(Tool):
# ccc treats -fsyntax-only specially.
arglist.addAllArgs2(cmd_args, arglist.parser.fGroup,
arglist.parser.syntaxOnlyOption)
+ arglist.addAllArgs(cmd_args, arglist.parser.fblocksGroup)
if (arglist.getLastArg(arglist.parser.gGroup) and
not arglist.getLastArg(arglist.parser.g0Option) and