re PR java/20338 (Program compiled with gcj crashes when accessing private static...
authorRanjit Mathew <rmathew@hotmail.com>
Wed, 9 Mar 2005 19:04:54 +0000 (19:04 +0000)
committerRanjit Mathew <rmathew@gcc.gnu.org>
Wed, 9 Mar 2005 19:04:54 +0000 (19:04 +0000)
PR java/20338
* decl.c (finish_method): Emit _Jv_InitClass for private static
methods inside inner classes as well.

From-SVN: r96200

gcc/java/ChangeLog
gcc/java/decl.c

index 698878de596d34ec178c6fb08a36883879b76f91..30d033de4570f5c4c2332d5e933c2390d7b1e903 100644 (file)
@@ -1,5 +1,10 @@
-2005-03-08  Julian Brown  <julian@codesourcery.com>
+2005-03-09  Ranjit Mathew  <rmathew@hotmail.com>
+
+       PR java/20338
+       * decl.c (finish_method): Emit _Jv_InitClass for private static 
+       methods inside inner classes as well.
 
+2005-03-08  Julian Brown  <julian@codesourcery.com>
        * Revert patch from 2005-03-08 for causing bootstrap failure on
        ppc-darwin.
 
index b7aa61650d3548a5d06c847ce0f0aed302f9992d..720b6322c9935d7501d34e68912e03829b940815 100644 (file)
@@ -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))))
     {