diff options
| author | rmathew <rmathew@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-09 19:04:54 +0000 |
|---|---|---|
| committer | rmathew <rmathew@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-09 19:04:54 +0000 |
| commit | 0c9ef0e8a96e9c75b8035e0c76665223e19b63ad (patch) | |
| tree | 15448ee1326556d1ada0e1472081e3218f1530e3 | |
| parent | 9e9dded5ba569ffc7a7bec55a40175407a88aec4 (diff) | |
| download | ppe42-gcc-0c9ef0e8a96e9c75b8035e0c76665223e19b63ad.tar.gz ppe42-gcc-0c9ef0e8a96e9c75b8035e0c76665223e19b63ad.zip | |
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
| -rw-r--r-- | gcc/java/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/java/decl.c | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 698878de596..30d033de457 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -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. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index b7aa61650d3..720b6322c99 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)))) { |

