]> granicus.if.org Git - clang/commitdiff
[driver] What was implemented in r152130 was actually -fno-inline-functions, not
authorChad Rosier <mcrosier@apple.com>
Tue, 6 Mar 2012 21:17:19 +0000 (21:17 +0000)
committerChad Rosier <mcrosier@apple.com>
Tue, 6 Mar 2012 21:17:19 +0000 (21:17 +0000)
-fno-inline.
Part of rdar://10972766

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152145 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/CC1Options.td
include/clang/Driver/Options.td
lib/Driver/Tools.cpp
lib/Frontend/CompilerInvocation.cpp
test/CodeGen/noinline.c
test/Driver/noinline.c

index 2fe4eba2057bd0cbcf7fc8d1f11998eaebb2a8fb..04168f043ccab5470f2b75c9279a29b3caec5e0f 100644 (file)
@@ -503,8 +503,8 @@ def fgnu_keywords : Flag<"-fgnu-keywords">,
   HelpText<"Allow GNU-extension keywords regardless of language standard">;
 def fgnu89_inline : Flag<"-fgnu89-inline">,
   HelpText<"Use the gnu89 inline semantics">;
-def fno_inline : Flag<"-fno-inline">,
-  HelpText<"Disable function inlining">;
+def fno_inline_functions : Flag<"-fno-inline-functions">,
+  HelpText<"Disable automatic function inlining">;
 def fno_gnu_keywords : Flag<"-fno-gnu-keywords">,
   HelpText<"Disallow GNU-extension keywords regardless of language standard">;
 def fdollars_in_identifiers : Flag<"-fdollars-in-identifiers">,
index 51c5e020e1ba864c0e886b227bed0bcbb4a1ac1a..a07a4c230de20e2cd62d60b3b0de5a5108c9d634 100644 (file)
@@ -419,8 +419,8 @@ def fno_elide_constructors : Flag<"-fno-elide-constructors">, Group<f_Group>;
 def fno_eliminate_unused_debug_symbols : Flag<"-fno-eliminate-unused-debug-symbols">, Group<f_Group>;
 def fno_exceptions : Flag<"-fno-exceptions">, Group<f_Group>;
 def fno_gnu_keywords : Flag<"-fno-gnu-keywords">, Group<f_Group>;
-def fno_inline_functions : Flag<"-fno-inline-functions">, Group<clang_ignored_f_Group>;
-def fno_inline : Flag<"-fno-inline">, Group<f_Group>;
+def fno_inline_functions : Flag<"-fno-inline-functions">, Group<f_Group>;
+def fno_inline : Flag<"-fno-inline">, Group<clang_ignored_f_Group>;
 def fno_keep_inline_functions : Flag<"-fno-keep-inline-functions">, Group<clang_ignored_f_Group>;
 def fno_lax_vector_conversions : Flag<"-fno-lax-vector-conversions">, Group<f_Group>;
 def fno_limit_debug_info : Flag<"-fno-limit-debug-info">, Group<f_Group>,
index 076311a78edc2545e6400ee034c921803f1c44ee..1420e895a1b47c3665d6da089873a1646aa73552 100644 (file)
@@ -2168,8 +2168,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
                    false))
     CmdArgs.push_back("-fgnu89-inline");
 
-  if (Args.hasArg(options::OPT_fno_inline))
-    CmdArgs.push_back("-fno-inline");
+  if (Args.hasArg(options::OPT_fno_inline_functions))
+    CmdArgs.push_back("-fno-inline-functions");
 
   // -fobjc-nonfragile-abi=0 is default.
   ObjCRuntime objCRuntime;
index 9391eea32d0a5e50e7737152406a8f4a11a4bd30..7038e85c4a5724720fc9691837f37fc96f513503 100644 (file)
@@ -1104,8 +1104,8 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
   // We must always run at least the always inlining pass.
   Opts.Inlining = (Opts.OptimizationLevel > 1) ? CodeGenOptions::NormalInlining
     : CodeGenOptions::OnlyAlwaysInlining;
-  // -fno-inline overrides OptimizationLevel > 1.
-  Opts.Inlining = Args.hasArg(OPT_fno_inline) ? 
+  // -fno-inline-functions overrides OptimizationLevel > 1.
+  Opts.Inlining = Args.hasArg(OPT_fno_inline_functions) ? 
     CodeGenOptions::OnlyAlwaysInlining : Opts.Inlining;
 
   Opts.DebugInfo = Args.hasArg(OPT_g);
@@ -1939,7 +1939,8 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
   // optimization level and -fno-inline, not actually whether the backend has
   // inlining enabled.
   //
-  Opts.NoInline = !Opt || Args.hasArg(OPT_fno_inline);
+  // FIXME: This is affected by other options (-fno-inline).
+  Opts.NoInline = !Opt;
 
   Opts.FastMath = Args.hasArg(OPT_ffast_math);
 
index 37e6c72f097ae53ce6d58438fdb5f92238f8c8dc..91cd5d4b6053505c5b308d9959b770b796e54b9a 100644 (file)
@@ -1,7 +1,7 @@
-// Make sure -fno-inline is behaving correctly.
+// Make sure -fno-inline-functions is behaving correctly.
 // rdar://10972766
 
-// RUN: %clang_cc1 -O3 -fno-inline -emit-llvm %s -o - | FileCheck -check-prefix=NOINLINE %s
+// RUN: %clang_cc1 -O3 -fno-inline-functions -emit-llvm %s -o - | FileCheck -check-prefix=NOINLINE %s
 
 int dont_inline_me(int a, int b) { return(a+b); }
 
index 8790d7fb388dcaef7d6c363d8625a293b33cc25e..9744b2c13f7a382b29da1cf77f0d0d5510e762df 100644 (file)
@@ -1,9 +1,9 @@
-// Make sure the driver is correctly passing -fno-inline
+// Make sure the driver is correctly passing -fno-inline-functions
 // rdar://10972766
 
 // RUN: %clang -target x86_64-apple-darwin10 \
-// RUN:   -fno-inline -### -fsyntax-only %s 2> %t
+// RUN:   -fno-inline-functions -### -fsyntax-only %s 2> %t
 // RUN: FileCheck --check-prefix=CHECK < %t %s
 
 // CHECK: clang
-// CHECK: "-fno-inline"
+// CHECK: "-fno-inline-functions"