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.">;
 | 
					  HelpText<"Disallow merging of constants.">;
 | 
				
			||||||
def O : Joined<"-O">, HelpText<"Optimization level">;
 | 
					def O : Joined<"-O">, HelpText<"Optimization level">;
 | 
				
			||||||
def Os : Flag<"-Os">, HelpText<"Optimize for size">;
 | 
					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
 | 
					#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) {
 | 
					static void ParseTargetArgs(TargetOptions &Opts, ArgList &Args) {
 | 
				
			||||||
  Opts.ABI = getLastArgValue(Args, cc1options::OPT_target_abi);
 | 
					  Opts.ABI = getLastArgValue(Args, cc1options::OPT_target_abi);
 | 
				
			||||||
  Opts.CPU = getLastArgValue(Args, cc1options::OPT_mcpu);
 | 
					  Opts.CPU = getLastArgValue(Args, cc1options::OPT_mcpu);
 | 
				
			||||||
| 
						 | 
					@ -152,8 +160,7 @@ void CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,
 | 
				
			||||||
                 << " value )\n";
 | 
					                 << " value )\n";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // FIXME: Disabled until the FIXMEs are resolved.
 | 
					  ParseCodeGenArgs(Res.getCodeGenOpts(), *InputArgs);
 | 
				
			||||||
  if (0)
 | 
					  ParseDependencyOutputArgs(Res.getDependencyOutputOpts(), *InputArgs);
 | 
				
			||||||
    ParseCodeGenArgs(Res.getCodeGenOpts(), *InputArgs);
 | 
					 | 
				
			||||||
  ParseTargetArgs(Res.getTargetOpts(), *InputArgs);
 | 
					  ParseTargetArgs(Res.getTargetOpts(), *InputArgs);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue