diff options
author | Per Bothner <bothner@gcc.gnu.org> | 2001-03-19 13:57:37 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2001-03-19 13:57:37 -0800 |
commit | 546468116ecab0398f68c844cdc553ae886aad7d (patch) | |
tree | 43b6051fb4c61f97cc997150ff09dfbcd993c639 /gcc/java/parse.y | |
parent | e7ce60a8607279aa6312b7852c3477033596d0c4 (diff) | |
download | gcc-546468116ecab0398f68c844cdc553ae886aad7d.zip gcc-546468116ecab0398f68c844cdc553ae886aad7d.tar.gz gcc-546468116ecab0398f68c844cdc553ae886aad7d.tar.bz2 |
Fixes to process to command-line .class files in two passes. See ChangeLog.
From-SVN: r40637
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y index f36c4de..8d588f0 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -3635,7 +3635,7 @@ maybe_create_class_interface_decl (decl, raw_name, qualified_name, cl) else DECL_SOURCE_LINE (decl) = EXPR_WFL_LINENO (cl); CLASS_FROM_SOURCE_P (TREE_TYPE (decl)) = 1; - CLASS_FROM_CURRENTLY_COMPILED_SOURCE_P (TREE_TYPE (decl)) = + CLASS_FROM_CURRENTLY_COMPILED_P (TREE_TYPE (decl)) = IS_A_COMMAND_LINE_FILENAME_P (EXPR_WFL_FILENAME_NODE (cl)); PUSH_CPC (decl, raw_name); @@ -5274,7 +5274,12 @@ jdep_resolve_class (dep) if (!decl) complete_class_report_errors (dep); else if (PURE_INNER_CLASS_DECL_P (decl)) - check_inner_class_access (decl, JDEP_ENCLOSING (dep), JDEP_WFL (dep)); + { + tree inner = TREE_TYPE (decl); + if (! CLASS_LOADED_P (inner)) + safe_layout_class (inner); + check_inner_class_access (decl, JDEP_ENCLOSING (dep), JDEP_WFL (dep)); + } return decl; } |