aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/class.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2003-02-28 20:53:47 +0000
committerTom Tromey <tromey@gcc.gnu.org>2003-02-28 20:53:47 +0000
commit0ea05c0da385f546437e32c43512dc2565c504eb (patch)
treeff933323332bdbed9ede2133d881c80430e36a4c /gcc/java/class.c
parent8c108db21b23f8083867ff2cec09d9f0110258c2 (diff)
downloadgcc-0ea05c0da385f546437e32c43512dc2565c504eb.zip
gcc-0ea05c0da385f546437e32c43512dc2565c504eb.tar.gz
gcc-0ea05c0da385f546437e32c43512dc2565c504eb.tar.bz2
re PR java/9695 (Inner class bug prevent GNU Classpath from compiling)
PR java/9695: * class.c (maybe_layout_super_class): Always pass a WFL to do_resolve_class. * parse.y (do_resolve_class): Updated comment to explain parameters. From-SVN: r63584
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r--gcc/java/class.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c
index a58f604..f121f0e 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -1726,8 +1726,19 @@ maybe_layout_super_class (tree super_class, tree this_class)
super_class = TREE_TYPE (super_class);
else
{
+ /* do_resolve_class expects an EXPR_WITH_FILE_LOCATION, so
+ we give it one. */
+ tree this_wrap = NULL_TREE;
+
+ if (this_class)
+ {
+ tree this_decl = TYPE_NAME (this_class);
+ this_wrap = build_expr_wfl (this_class,
+ DECL_SOURCE_FILE (this_decl),
+ DECL_SOURCE_LINE (this_decl), 0);
+ }
super_class = do_resolve_class (NULL_TREE, /* FIXME? */
- super_class, NULL_TREE, this_class);
+ super_class, NULL_TREE, this_wrap);
if (!super_class)
return NULL_TREE; /* FIXME, NULL_TREE not checked by caller. */
super_class = TREE_TYPE (super_class);