From afac7ab4964e200686c4b1e79a37d5fde48d75ec Mon Sep 17 00:00:00 2001 From: aph Date: Mon, 29 Jan 2007 13:02:48 +0000 Subject: [PATCH] 2007-01-29 Andrew Haley * class.c (add_method_1): Mark fndecl as external unless we are compiling it into this object file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121284 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/ChangeLog | 5 +++++ gcc/java/class.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 4d24a20..1cd6c07 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2007-01-29 Andrew Haley + + * class.c (add_method_1): Mark fndecl as external unless we are + compiling it into this object file. + 2007-01-24 Andrew Haley * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a diff --git a/gcc/java/class.c b/gcc/java/class.c index a2a70a7..060d871 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -731,6 +731,10 @@ add_method_1 (tree this_class, int access_flags, tree name, tree function_type) METHOD_NATIVE (fndecl) = 1; DECL_EXTERNAL (fndecl) = 1; } + else + /* FNDECL is external unless we are compiling it into this object + file. */ + DECL_EXTERNAL (fndecl) = CLASS_FROM_CURRENTLY_COMPILED_P (this_class) == 0; if (access_flags & ACC_STATIC) METHOD_STATIC (fndecl) = DECL_INLINE (fndecl) = 1; if (access_flags & ACC_FINAL) -- 2.7.4