aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/CC1Options.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-20 23:28:07 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-20 23:28:07 +0000
commit1bed0c3a555d9e32de9dead55658b4a28a4d6e03 (patch)
tree8615fb2bcb4d3a4737877ab4acbde70fc2608337 /lib/Driver/CC1Options.cpp
parent20be8c4551d49fe66835baf1200be85ac2fd0c86 (diff)
Driver: Add clang -cc1 dependency output options parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89508 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/CC1Options.cpp')
-rw-r--r--lib/Driver/CC1Options.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Driver/CC1Options.cpp b/lib/Driver/CC1Options.cpp
index afa01434f3..f92ada77fa 100644
--- a/lib/Driver/CC1Options.cpp
+++ b/lib/Driver/CC1Options.cpp
@@ -121,6 +121,14 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args) {
#endif
}
+static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts,
+ ArgList &Args) {
+ Opts.OutputFile = getLastArgValue(Args, cc1options::OPT_dependency_file);
+ Opts.Targets = getAllArgValues(Args, cc1options::OPT_MT);
+ Opts.IncludeSystemHeaders = Args.hasArg(cc1options::OPT_sys_header_deps);
+ Opts.UsePhonyTargets = Args.hasArg(cc1options::OPT_MP);
+}
+
static void ParseTargetArgs(TargetOptions &Opts, ArgList &Args) {
Opts.ABI = getLastArgValue(Args, cc1options::OPT_target_abi);
Opts.CPU = getLastArgValue(Args, cc1options::OPT_mcpu);
@@ -152,8 +160,7 @@ void CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,
<< " value )\n";
}
- // FIXME: Disabled until the FIXMEs are resolved.
- if (0)
- ParseCodeGenArgs(Res.getCodeGenOpts(), *InputArgs);
+ ParseCodeGenArgs(Res.getCodeGenOpts(), *InputArgs);
+ ParseDependencyOutputArgs(Res.getDependencyOutputOpts(), *InputArgs);
ParseTargetArgs(Res.getTargetOpts(), *InputArgs);
}