[frontend] Add support for disabling the "inline" keyword using

-fno-inline-functions.

This behaves much like -fno-inline in gcc, but based on a discussion with 
Daniel it was decided that -fno-inline-functions should subsume -fno-inline.
Please speak up if you object.  The -fno-inline flag remains ignored.
Final part of rdar://10972766

llvm-svn: 152754
This commit is contained in:
Chad Rosier
2012-03-14 23:32:11 +00:00
parent 01401cec00
commit 883b2579aa
4 changed files with 16 additions and 10 deletions

View File

@@ -1165,8 +1165,9 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
Opts.Inlining = (Opts.OptimizationLevel > 1) ? CodeGenOptions::NormalInlining
: CodeGenOptions::OnlyAlwaysInlining;
// -fno-inline-functions overrides OptimizationLevel > 1.
Opts.Inlining = Args.hasArg(OPT_fno_inline_functions) ?
CodeGenOptions::OnlyAlwaysInlining : Opts.Inlining;
Opts.NoInline = Args.hasArg(OPT_fno_inline_functions);
Opts.Inlining = Opts.NoInline ? CodeGenOptions::OnlyAlwaysInlining :
Opts.Inlining;
Opts.DebugInfo = Args.hasArg(OPT_g);
Opts.LimitDebugInfo = !Args.hasArg(OPT_fno_limit_debug_info)