aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-09-15 23:13:54 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-09-15 23:13:54 -0700
commit2edc3b33ce1711a8e093b29afdeca2627a24fe4c (patch)
tree4890ab16cb30e240425657caeecc3563678c7316
parent67664664213e7c3fa9011e700786e2a218f5dea0 (diff)
downloadgcc-2edc3b33ce1711a8e093b29afdeca2627a24fe4c.zip
gcc-2edc3b33ce1711a8e093b29afdeca2627a24fe4c.tar.gz
gcc-2edc3b33ce1711a8e093b29afdeca2627a24fe4c.tar.bz2
(function_cannot_inline_p): Don't inline if it's set.
From-SVN: r5338
-rw-r--r--gcc/integrate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 308b7ba..a41e9b6 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -164,6 +164,10 @@ function_cannot_inline_p (fndecl)
if (forced_labels)
return "function with label addresses used in initializers cannot inline";
+ /* We cannot inline a nested function that jumps to a nonlocal label. */
+ if (current_function_has_nonlocal_goto)
+ return "function with nonlocal goto cannot be inline";
+
return 0;
}