diff options
author | Tom Tromey <tromey@redhat.com> | 2003-01-30 17:15:36 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2003-01-30 17:15:36 +0000 |
commit | 7e278bae4f763445abe8b6c79ae684d7915eb939 (patch) | |
tree | 1840a719f7687932985e166bac260846e3623679 /gcc | |
parent | 7429b411c170317ab86705d4c14b0f7c10a2943b (diff) | |
download | gcc-7e278bae4f763445abe8b6c79ae684d7915eb939.zip gcc-7e278bae4f763445abe8b6c79ae684d7915eb939.tar.gz gcc-7e278bae4f763445abe8b6c79ae684d7915eb939.tar.bz2 |
jcf-parse.c (read_class): Update identifier's class value if it changed during parsing.
* jcf-parse.c (read_class): Update identifier's class value if it
changed during parsing.
From-SVN: r62149
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/jcf-parse.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 3b56a3a..4afcc94 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2003-01-30 Tom Tromey <tromey@redhat.com> + + * jcf-parse.c (read_class): Update identifier's class value if it + changed during parsing. + 2003-01-30 Loren James Rittle <ljrittle@acm.org> * Make-lang.in (po-generated): Find the targets in $(parsedir). diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index 2f03202..20dc3ff 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -516,6 +516,10 @@ read_class (tree name) read_zip_member(current_jcf, current_jcf->zipd, current_jcf->zipd->zipf); jcf_parse (current_jcf); + /* Parsing might change the class, in which case we have to + put it back where we found it. */ + if (current_class != class && icv != NULL_TREE) + TREE_TYPE (icv) = current_class; class = current_class; java_pop_parser_context (0); java_parser_context_restore_global (); |