From 0c9ef0e8a96e9c75b8035e0c76665223e19b63ad Mon Sep 17 00:00:00 2001 From: rmathew Date: Wed, 9 Mar 2005 19:04:54 +0000 Subject: [PATCH] PR java/20338 * decl.c (finish_method): Emit _Jv_InitClass for private static methods inside inner classes as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96200 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/ChangeLog | 7 ++++++- gcc/java/decl.c | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 698878de596d..30d033de4570 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,5 +1,10 @@ -2005-03-08 Julian Brown +2005-03-09 Ranjit Mathew + + PR java/20338 + * decl.c (finish_method): Emit _Jv_InitClass for private static + methods inside inner classes as well. +2005-03-08 Julian Brown * Revert patch from 2005-03-08 for causing bootstrap failure on ppc-darwin. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index b7aa61650d35..720b6322c993 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -2038,7 +2038,9 @@ finish_method (tree fndecl) /* Prepend class initialization for static methods reachable from other classes. */ - if (METHOD_STATIC (fndecl) && ! METHOD_PRIVATE (fndecl) + if (METHOD_STATIC (fndecl) + && (! METHOD_PRIVATE (fndecl) + || INNER_CLASS_P (DECL_CONTEXT (fndecl))) && ! DECL_CLINIT_P (fndecl) && ! CLASS_INTERFACE (TYPE_NAME (DECL_CONTEXT (fndecl)))) { -- 2.47.3