diff options
| -rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cp/tree.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e4def02..24bec89 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2002-08-02 Nathan Sidwell <nathan@codesourcery.com> + + * tree.c (build_shared_int_cst): Make cache file scope, and + GTY it. + 2002-08-02 Jason Merrill <jason@redhat.com> * cp-lang.c (LANG_HOOKS_EXPR_SIZE): Define. diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index ea456f0..e3ba4e1 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1505,19 +1505,19 @@ build_min VPARAMS ((enum tree_code code, tree tt, ...)) same node; therefore, callers should never modify the node returned. */ +static GTY(()) tree shared_int_cache[256]; + tree build_shared_int_cst (i) int i; { - static tree cache[256]; - if (i >= 256) return build_int_2 (i, 0); - if (!cache[i]) - cache[i] = build_int_2 (i, 0); + if (!shared_int_cache[i]) + shared_int_cache[i] = build_int_2 (i, 0); - return cache[i]; + return shared_int_cache[i]; } tree |
