Implement -fvisibility-inlines-hidden. <rdar://problem/7819834>

llvm-svn: 106003
This commit is contained in:
Douglas Gregor
2010-06-15 17:05:35 +00:00
parent 246e9a07a2
commit 0832963acd
8 changed files with 81 additions and 2 deletions

View File

@@ -595,6 +595,9 @@ static void LangOptsToArgs(const LangOptions &Opts,
Res.push_back("protected");
}
}
if (Opts.InlineVisibilityHidden)
Res.push_back("-fvisibility-inlines-hidden");
if (Opts.getStackProtectorMode() != 0) {
Res.push_back("-stack-protector");
Res.push_back(llvm::utostr(Opts.getStackProtectorMode()));
@@ -1238,6 +1241,9 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
Diags.Report(diag::err_drv_invalid_value)
<< Args.getLastArg(OPT_fvisibility)->getAsString(Args) << Vis;
if (Args.hasArg(OPT_fvisibility_inlines_hidden))
Opts.InlineVisibilityHidden = 1;
Opts.OverflowChecking = Args.hasArg(OPT_ftrapv);
// Mimicing gcc's behavior, trigraphs are only enabled if -trigraphs