Control #file behavior with a command line option

This commit is contained in:
Brent Royal-Gordon
2019-11-15 20:23:35 -08:00
parent e5b582f174
commit 789d38eb04
5 changed files with 25 additions and 1 deletions

View File

@@ -453,6 +453,17 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.OptimizationRemarkMissedPattern =
generateOptimizationRemarkRegex(Diags, Args, A);
if (Arg *A = Args.getLastArg(OPT_pound_file)) {
StringRef value = A->getValue();
if (value == "path")
Opts.MagicFileIdentifierEvaluatesToPath = true;
else if (value == "compact")
Opts.MagicFileIdentifierEvaluatesToPath = false;
else
Diags.diagnose(SourceLoc(), diag::error_invalid_arg_value,
A->getSpelling(), value);
}
llvm::Triple Target = Opts.Target;
StringRef TargetArg;
if (const Arg *A = Args.getLastArg(OPT_target)) {