aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/method.c
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2004-05-24 21:07:42 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2004-05-24 21:07:42 +0000
commitbf2774382d22d4f842c0a581cbb296f8b1984d49 (patch)
tree12fe4051c3fd2802ff193d818d68ee45ed61ffd8 /gcc/cp/method.c
parenta668adb2f3bbe7e4b6f6aee2ca721b8e466d2ee7 (diff)
downloadgcc-bf2774382d22d4f842c0a581cbb296f8b1984d49.zip
gcc-bf2774382d22d4f842c0a581cbb296f8b1984d49.tar.gz
gcc-bf2774382d22d4f842c0a581cbb296f8b1984d49.tar.bz2
method.c (implicitly_declare_fn): Don't call defer_fn; abort if it might be needed.
* method.c (implicitly_declare_fn): Don't call defer_fn; abort if it might be needed. * pt.c (mark_decl_instantiated): Only call defer_fn if the function actually needs processing in finish_file. * decl2.c (finish_file): Add check that elements in deferred_fns_used are really needed there. Remove unnecessary test of DECL_SAVED_TREE. From-SVN: r82217
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r--gcc/cp/method.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index efd0e06..4920c54 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1027,7 +1027,8 @@ implicitly_declare_fn (special_function_kind kind, tree type, bool const_p)
DECL_NOT_REALLY_EXTERN (fn) = 1;
DECL_DECLARED_INLINE_P (fn) = 1;
DECL_INLINE (fn) = 1;
- defer_fn (fn);
+ if (TREE_USED (fn))
+ abort ();
return fn;
}