summaryrefslogtreecommitdiffstats
path: root/clang/tools/ccc/ccclib/Tools.py
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-01-12 07:40:25 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-01-12 07:40:25 +0000
commit17bbcfd5a0c9c615062288ee5d6cfc427fe0cec7 (patch)
treec005aa12bede3cc98c261dbab130bc7213495040 /clang/tools/ccc/ccclib/Tools.py
parentc11d8d4a09222d62a154d31c935918c9e4a3ffc3 (diff)
downloadbcm5719-llvm-17bbcfd5a0c9c615062288ee5d6cfc427fe0cec7.tar.gz
bcm5719-llvm-17bbcfd5a0c9c615062288ee5d6cfc427fe0cec7.zip
ccc: Implement the rest of Darwin/Assembler argument translation.
llvm-svn: 62081
Diffstat (limited to 'clang/tools/ccc/ccclib/Tools.py')
-rw-r--r--clang/tools/ccc/ccclib/Tools.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/tools/ccc/ccclib/Tools.py b/clang/tools/ccc/ccclib/Tools.py
index 7f3b0cf6300..a9209821488 100644
--- a/clang/tools/ccc/ccclib/Tools.py
+++ b/clang/tools/ccc/ccclib/Tools.py
@@ -112,14 +112,32 @@ class DarwinAssembleTool(Tool):
input = inputs[0]
cmd_args = []
+
+ if arglist.getLastArg(arglist.parser.gOption):
+ cmd_args.append('--gstabs')
+
+ # Derived from asm spec.
if arch:
cmd_args.extend(arglist.render(arch))
cmd_args.append('-force_cpusubtype_ALL')
cmd_args.extend(arglist.render(output))
+ if (arglist.getLastArg(arglist.parser.m_kernelOption) or
+ arglist.getLastArg(arglist.parser.staticOption) or
+ arglist.getLastArg(arglist.parser.f_appleKextOption)):
+ if not arglist.getLastArg(arglist.parser.ZdynamicOption):
+ cmd_args.append('-static')
+
+ for arg in arglist.getArgs2(arglist.parser.WaOption,
+ arglist.parser.XassemblerOption):
+ cmd_args.extend(arglist.getValues(arg))
+
if isinstance(input.source, Jobs.PipedJob):
cmd_args.append('-')
else:
cmd_args.extend(arglist.renderAsInput(input.source))
+
+ # asm_final spec is empty.
+
jobs.addJob(Jobs.Command('as', cmd_args))
class GCC_AssembleTool(GCC_Common_Tool):
OpenPOWER on IntegriCloud