aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-09-08 16:39:16 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-09-08 16:39:16 +0000
commite0be8b1729d8978de433d229c065830b95d0ae68 (patch)
tree0cb78c3eba455087d8475d2753c8e7a4e10bade6 /lib/Driver/Tools.cpp
parentd74d4149f759b8abec15fb8163a4206e8c7068c8 (diff)
Remove FIXMEs for pedantically-gcc-bug-compatible behavior.
- We aren't going to fix these since they haven't caused problems in practice. - Similarly, don't forward -object to Darwin ld. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81224 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r--lib/Driver/Tools.cpp30
1 files changed, 4 insertions, 26 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index a35d745cf1..d7bf8b72bd 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -77,6 +77,7 @@ void Clang::AddPreprocessingOptions(const Driver &D,
CmdArgs.push_back(DepFile);
// Add an -MT option if the user didn't specify their own.
+ //
// FIXME: This should use -MQ, when we support it.
if (!Args.hasArg(options::OPT_MT) && !Args.hasArg(options::OPT_MQ)) {
const char *DepTarget;
@@ -109,13 +110,13 @@ void Clang::AddPreprocessingOptions(const Driver &D,
Args.AddLastArg(CmdArgs, options::OPT_MP);
Args.AddAllArgs(CmdArgs, options::OPT_MT);
- // FIXME: Use iterator.
-
// Add -i* options, and automatically translate to
// -include-pch/-include-pth for transparent PCH support. It's
// wonky, but we include looking for .gch so we can support seamless
// replacement into a build system already set up to be generating
// .gch files.
+ //
+ // FIXME: Use iterator.
for (ArgList::const_iterator
it = Args.begin(), ie = Args.end(); it != ie; ++it) {
const Arg *A = *it;
@@ -879,8 +880,6 @@ darwin::CC1::getDependencyFileName(const ArgList &Args,
void darwin::CC1::AddCC1Args(const ArgList &Args,
ArgStringList &CmdArgs) const {
// Derived from cc1 spec.
-
- // FIXME: -fapple-kext seems to disable this too. Investigate.
if (!Args.hasArg(options::OPT_mkernel) && !Args.hasArg(options::OPT_static) &&
!Args.hasArg(options::OPT_mdynamic_no_pic))
CmdArgs.push_back("-fPIC");
@@ -889,15 +888,6 @@ void darwin::CC1::AddCC1Args(const ArgList &Args,
// and no -miphoneos-version-min is present, but this never happens
// due to tool chain specific argument translation.
- // FIXME: Remove mthumb
- // FIXME: Remove mno-thumb
- // FIXME: Remove faltivec
- // FIXME: Remove mno-fused-madd
- // FIXME: Remove mlong-branch
- // FIXME: Remove mlongcall
- // FIXME: Remove mcpu=G4
- // FIXME: Remove mcpu=G5
-
if (Args.hasArg(options::OPT_g_Flag) &&
!Args.hasArg(options::OPT_fno_eliminate_unused_debug_symbols))
CmdArgs.push_back("-feliminate-unused-debug-symbols");
@@ -1230,9 +1220,6 @@ void darwin::Compile::ConstructJob(Compilation &C, const JobAction &JA,
} else {
CmdArgs.push_back("-fpreprocessed");
- // FIXME: There is a spec command to remove
- // -fpredictive-compilation args here. Investigate.
-
for (InputInfoList::const_iterator
it = Inputs.begin(), ie = Inputs.end(); it != ie; ++it) {
const InputInfo &II = *it;
@@ -1618,20 +1605,16 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
const ArgList &Args,
const char *LinkingOutput) const {
assert(Output.getType() == types::TY_Image && "Invalid linker output type.");
+
// The logic here is derived from gcc's behavior; most of which
// comes from specs (starting with link_command). Consult gcc for
// more information.
-
- // FIXME: The spec references -fdump= which seems to have
- // disappeared?
-
ArgStringList CmdArgs;
// I'm not sure why this particular decomposition exists in gcc, but
// we follow suite for ease of comparison.
AddLinkArgs(Args, CmdArgs);
- // FIXME: gcc has %{x} in here. How could this ever happen? Cruft?
Args.AddAllArgs(CmdArgs, options::OPT_d_Flag);
Args.AddAllArgs(CmdArgs, options::OPT_s);
Args.AddAllArgs(CmdArgs, options::OPT_t);
@@ -1642,11 +1625,6 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
Args.AddAllArgs(CmdArgs, options::OPT_m_Separate);
Args.AddAllArgs(CmdArgs, options::OPT_r);
- // FIXME: This is just being pedantically bug compatible, gcc
- // doesn't *mean* to forward this, it just does (yay for pattern
- // matching). It doesn't work, of course.
- Args.AddAllArgs(CmdArgs, options::OPT_object);
-
CmdArgs.push_back("-o");
CmdArgs.push_back(Output.getFilename());