]> granicus.if.org Git - clang/commitdiff
ccc/Darwin: Add a missing Darwin argument translation, -shared becomes
authorDaniel Dunbar <daniel@zuster.org>
Fri, 6 Feb 2009 19:18:58 +0000 (19:18 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 6 Feb 2009 19:18:58 +0000 (19:18 +0000)
-dynamiclib. Re-audited translations to make sure I didn't miss
something else.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63953 91177308-0d34-0410-b5e6-96231b3b80d8

tools/ccc/ccclib/ToolChain.py
tools/ccc/test/ccc/darwin-ld-shared.c [new file with mode: 0644]

index 6ce6ebc341fa1de5a474af8785df75a01d85149e..2fd500ce18e845c7dc7db48358786d04be1411ac 100644 (file)
@@ -194,6 +194,8 @@ class Darwin_X86_ToolChain(ToolChain):
             elif arg.opt is args.parser.f_indirectVirtualCallsOption:
                 al.append(al.makeFlagArg(args.parser.f_appleKextOption))
                 al.append(al.makeFlagArg(args.parser.staticOption))
+            elif arg.opt is args.parser.sharedOption:
+                al.append(al.makeFlagArg(args.parser.dynamiclibOption))
             elif arg.opt is args.parser.f_constantCfstringsOption:
                 al.append(al.makeFlagArg(args.parser.m_constantCfstringsOption))
             elif arg.opt is args.parser.f_noConstantCfstringsOption:
diff --git a/tools/ccc/test/ccc/darwin-ld-shared.c b/tools/ccc/test/ccc/darwin-ld-shared.c
new file mode 100644 (file)
index 0000000..7aa2252
--- /dev/null
@@ -0,0 +1,7 @@
+// -shared translates to -dynamiclib on darwin.
+// RUN: xcc -ccc-host-system darwin -### -filelist a &> %t.1 &&
+// RUN: xcc -ccc-host-system darwin -### -filelist a -shared &> %t.2 &&
+
+// -dynamiclib turns on -dylib
+// RUN: not grep -- '-dylib' %t.1 &&
+// RUN: grep -- '-dylib' %t.2