aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-objc-common.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2003-07-08 19:44:17 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2003-07-08 19:44:17 +0000
commit516574425b935981dcdae07ff0e3be6b5946bf04 (patch)
tree20adccaaafcd98efc427f57bfdc819e4ec959c91 /gcc/c-objc-common.c
parent7e6dc3581ceb8a56bd80bcf7e47507d1902b19f7 (diff)
downloadgcc-516574425b935981dcdae07ff0e3be6b5946bf04.zip
gcc-516574425b935981dcdae07ff0e3be6b5946bf04.tar.gz
gcc-516574425b935981dcdae07ff0e3be6b5946bf04.tar.bz2
re PR c/1687 (Exponential time behavior with -O -finline-functions (compile time regression from 3.2, 3.3))
2003-07-08 Steven Bosscher <steven@gcc.gnu.org> PR c/1687 * tree-inline.c (find_alloca_call): Use walk_tree_without_duplicates, instead of walk_tree. (find_builtin_longjmp_call): Likewise. * c-objc-common.c (c_cannot_inline_fn): Likewise. * c-semantics.c (find_reachable_label): Likewise. From-SVN: r69097
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r--gcc/c-objc-common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c
index 438b3fb..e0a99a3 100644
--- a/gcc/c-objc-common.c
+++ b/gcc/c-objc-common.c
@@ -211,7 +211,8 @@ c_cannot_inline_tree_fn (tree *fnp)
return 0;
}
- if (walk_tree (&DECL_SAVED_TREE (fn), inline_forbidden_p, fn, NULL))
+ if (walk_tree_without_duplicates (&DECL_SAVED_TREE (fn),
+ inline_forbidden_p, fn))
goto cannot_inline;
return 0;