Driver: Pass -f[no-]pascal-strings on to clang, even if it has been

turned into -m[no-]pascal-strings by the tool chain.
 - This still has issue that derived arguments don't propogate "used"
   information correctly so spurious "argument unused" warnings will
   still show up.

llvm-svn: 67841
This commit is contained in:
Daniel Dunbar 2009-03-27 15:22:28 +00:00
parent 33e6f91ec3
commit a21c833d74
1 changed files with 12 additions and 0 deletions

View File

@ -306,6 +306,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.AddAllArgs(CmdArgs, options::OPT_clang_f_Group);
// If tool chain translates fpascal-strings, we want to back
// translate here.
// FIXME: This is gross; that translation should be pulled from the
// tool chain.
if (Arg *A = Args.getLastArg(options::OPT_mpascal_strings,
options::OPT_mno_pascal_strings)) {
if (A->getOption().matches(options::OPT_mpascal_strings))
CmdArgs.push_back("-fpascal-strings");
else
CmdArgs.push_back("-fno-pascal-strings");
}
Args.AddLastArg(CmdArgs, options::OPT_dM);
Args.AddAllArgValues(CmdArgs, options::OPT_Xclang);