diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-03-06 21:17:19 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-03-06 21:17:19 +0000 |
commit | 64d6be979f6e82d1c9fa3b69c3333b79595ac1d2 (patch) | |
tree | 7f37e1e1ebe3009b2876709627ce04df55a7422c | |
parent | 20a33d5f654c56a4bfe87714a3c288dc5474164d (diff) | |
download | bcm5719-llvm-64d6be979f6e82d1c9fa3b69c3333b79595ac1d2.tar.gz bcm5719-llvm-64d6be979f6e82d1c9fa3b69c3333b79595ac1d2.zip |
[driver] What was implemented in r152130 was actually -fno-inline-functions, not
-fno-inline.
Part of rdar://10972766
llvm-svn: 152145
-rw-r--r-- | clang/include/clang/Driver/CC1Options.td | 4 | ||||
-rw-r--r-- | clang/include/clang/Driver/Options.td | 4 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 7 | ||||
-rw-r--r-- | clang/test/CodeGen/noinline.c | 4 | ||||
-rw-r--r-- | clang/test/Driver/noinline.c | 6 |
6 files changed, 15 insertions, 14 deletions
diff --git a/clang/include/clang/Driver/CC1Options.td b/clang/include/clang/Driver/CC1Options.td index 2fe4eba2057..04168f043cc 100644 --- a/clang/include/clang/Driver/CC1Options.td +++ b/clang/include/clang/Driver/CC1Options.td @@ -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">, diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 51c5e020e1b..a07a4c230de 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -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>, diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 076311a78ed..1420e895a1b 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -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; diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 9391eea32d0..7038e85c4a5 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -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); diff --git a/clang/test/CodeGen/noinline.c b/clang/test/CodeGen/noinline.c index 37e6c72f097..91cd5d4b605 100644 --- a/clang/test/CodeGen/noinline.c +++ b/clang/test/CodeGen/noinline.c @@ -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); } diff --git a/clang/test/Driver/noinline.c b/clang/test/Driver/noinline.c index 8790d7fb388..9744b2c13f7 100644 --- a/clang/test/Driver/noinline.c +++ b/clang/test/Driver/noinline.c @@ -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" |