forked from OSchip/llvm-project
Driver: Add clang -cc1 dependency output options parsing.
llvm-svn: 89508
This commit is contained in:
parent
e14b347176
commit
a764eef0e9
|
|
@ -40,3 +40,12 @@ def fno_merge_all_constants : Flag<"-fno-merge-all-constants">,
|
|||
HelpText<"Disallow merging of constants.">;
|
||||
def O : Joined<"-O">, HelpText<"Optimization level">;
|
||||
def Os : Flag<"-Os">, HelpText<"Optimize for size">;
|
||||
|
||||
// Dependency Output Options
|
||||
def dependency_file : Separate<"-dependency-file">,
|
||||
HelpText<"Filename (or -) to write dependency output to">;
|
||||
def sys_header_deps : Flag<"-sys-header-deps">,
|
||||
HelpText<"Include system headers in dependency output">;
|
||||
def MT : Separate<"-MT">, HelpText<"Specify target for dependency">;
|
||||
def MP : Flag<"-MP">,
|
||||
HelpText<"Create phony target for each dependency (other than main file)">;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue