ccc: Make proper synthetic arguments in places we have to construct
"fake" options, allowing Tools to be oblivious to whether an argument
is real or synthetic. This kills off DerivedArg & a number of FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61871 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/Tools.py b/tools/ccc/ccclib/Tools.py
index f48aec9..0dd0e30 100644
--- a/tools/ccc/ccclib/Tools.py
+++ b/tools/ccc/ccclib/Tools.py
@@ -30,21 +30,13 @@
cmd_args = sum(map(arglist.render, args),[]) + extraArgs
if arch:
- # FIXME: Clean this up.
- if isinstance(arch, Arguments.DerivedArg):
- cmd_args.extend(['-arch', arglist.getValue(arch)])
- else:
- cmd_args.extend(arglist.render(arch))
+ cmd_args.extend(arglist.render(arch))
if isinstance(output, Jobs.PipedJob):
cmd_args.extend(['-o', '-'])
elif output is None:
cmd_args.append('-fsyntax-only')
else:
- # FIXME: Ditch this hack.
- if isinstance(output, Arguments.DerivedArg):
- cmd_args.extend(['-o', arglist.getValue(output)])
- else:
- cmd_args.extend(arglist.render(output))
+ cmd_args.extend(arglist.render(output))
cmd_args.extend(['-x', input.type.name])
if isinstance(input.source, Jobs.PipedJob):
@@ -105,17 +97,9 @@
cmd_args = []
if arch:
- # FIXME: Clean this up.
- if isinstance(arch, Arguments.DerivedArg):
- cmd_args.extend(['-arch',
- arglist.getValue(arch)])
- else:
- cmd_args.extend(arglist.render(arch))
+ cmd_args.extend(arglist.render(arch))
cmd_args.append('-force_cpusubtype_ALL')
- if isinstance(output, Arguments.DerivedArg):
- cmd_args.extend(['-o', arglist.getValue(output)])
- else:
- cmd_args.extend(arglist.render(output))
+ cmd_args.extend(arglist.render(output))
if isinstance(input.source, Jobs.PipedJob):
cmd_args.append('-')
else:
@@ -138,10 +122,7 @@
cmd_args.extend(arglist.render(arg))
for input in inputs:
cmd_args.append(arglist.getValue(input.source))
- if isinstance(output, Arguments.DerivedArg):
- cmd_args.extend(['-o', arglist.getValue(output)])
- else:
- cmd_args.extend(arglist.render(output))
+ cmd_args.extend(arglist.render(output))
cmd_args.extend(['-L/usr/lib/gcc/i686-apple-darwin10/4.2.1',
'-lcrt1.10.5.o',
'-lgcc_s.10.5',
@@ -158,10 +139,7 @@
assert outputType is Types.ImageType
cmd_args = ['-create']
- if isinstance(output, Arguments.DerivedArg):
- cmd_args.extend(['-o', arglist.getValue(output)])
- else:
- cmd_args.extend(arglist.render(output))
+ cmd_args.extend(arglist.render(output))
for input in inputs:
cmd_args.append(arglist.getValue(input.source))
jobs.addJob(Jobs.Command('lipo', cmd_args))