summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-04-24 03:03:52 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-04-24 03:03:52 +0000
commitc1b1b4b2c9f8d34cf0cd960ddeb3ee66dd2c2bf3 (patch)
tree89e789aa20a7e0942ec979fabbc0a237454530c9 /clang/lib/Driver/Tools.cpp
parent38feed810f661c60662d691db17bf256ca1cc5d6 (diff)
downloadbcm5719-llvm-c1b1b4b2c9f8d34cf0cd960ddeb3ee66dd2c2bf3.tar.gz
bcm5719-llvm-c1b1b4b2c9f8d34cf0cd960ddeb3ee66dd2c2bf3.zip
Don't run dsymutil when making a fat executable direct source.
- Otherwise, we will end up with stray .dSYM files which don't get lipo'ed or removed. - Ideally we would run dsymutil on the result, but we don't have the infrastructure for that yet. Note that gcc doesn't handle this case either. - <rdar://problem/6809621> [driver] clang leaves .dSYM files lying around in tmp. llvm-svn: 69951
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index c37517edfae..8393e9c91e8 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -1619,7 +1619,13 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
}
}
- if (Args.getLastArg(options::OPT_g_Group) &&
+ // Run dsymutil if we are making an executable in a single step.
+ //
+ // FIXME: Currently we don't want to do this when we are part of a
+ // universal build step, as this would end up creating stray temp
+ // files.
+ if (!LinkingOutput &&
+ Args.getLastArg(options::OPT_g_Group) &&
!Args.getLastArg(options::OPT_gstabs) &&
!Args.getLastArg(options::OPT_g0)) {
// FIXME: This is gross, but matches gcc. The test only considers
OpenPOWER on IntegriCloud