public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* java/2333: ICE in mark_reference_fields
@ 2001-03-20 20:26 jsturm
0 siblings, 0 replies; 4+ messages in thread
From: jsturm @ 2001-03-20 20:26 UTC (permalink / raw)
To: gcc-gnats
>Number: 2333
>Category: java
>Synopsis: ICE in mark_reference_fields
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Mar 20 20:26:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Jeff Sturm
>Release: gcc version 3.0 20010319 (prerelease)
>Organization:
>Environment:
i686-pc-linux-gnu
>Description:
This is a recent regression on the branch discovered while
building Jacl. I've included a minimal test case
below.
I found that a non-record type is passed to push_super_field,
causing mark_reference_fields to eventually fail because it
expects a specific layout for the dummy field. The root cause
is perhaps a failed initialization of C.
>How-To-Repeat:
Compile the following code with "gcj -c A.java":
class B {
int b;
}
class C {
int c;
}
public class A {
AI ai;
class AI extends B {
CI ci;
}
class CI extends C {
}
}
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: java/2333: ICE in mark_reference_fields
@ 2001-03-20 20:56 Alexandre Petit-Bianco
0 siblings, 0 replies; 4+ messages in thread
From: Alexandre Petit-Bianco @ 2001-03-20 20:56 UTC (permalink / raw)
To: apbianco; +Cc: gcc-prs
The following reply was made to PR java/2333; it has been noted by GNATS.
From: Alexandre Petit-Bianco <apbianco@cygnus.com>
To: jsturm@one-point.com
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: java/2333: ICE in mark_reference_fields
Date: Tue, 20 Mar 2001 20:46:47 -0800 (PST)
jsturm@one-point.com writes:
> I found that a non-record type is passed to push_super_field,
> causing mark_reference_fields to eventually fail because it expects
> a specific layout for the dummy field. The root cause is perhaps a
> failed initialization of C.
This is a problem I fixed this morning. I believe this patch does the
trick:
./A
Index: class.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/class.c,v
retrieving revision 1.95
diff -u -p -r1.95 class.c
--- class.c 2001/03/19 23:50:03 1.95
+++ class.c 2001/03/21 04:34:36
@@ -1693,7 +1694,7 @@ layout_class (this_class)
return;
}
if (TYPE_SIZE (this_class) == NULL_TREE)
- push_super_field (this_class, super_class);
+ push_super_field (this_class, maybe_super_class);
}
for (field = TYPE_FIELDS (this_class);
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: java/2333: ICE in mark_reference_fields
@ 2001-03-20 21:16 Jeff Sturm
0 siblings, 0 replies; 4+ messages in thread
From: Jeff Sturm @ 2001-03-20 21:16 UTC (permalink / raw)
To: apbianco; +Cc: gcc-prs
The following reply was made to PR java/2333; it has been noted by GNATS.
From: Jeff Sturm <jsturm@one-point.com>
To: Alexandre Petit-Bianco <apbianco@cygnus.com>
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: java/2333: ICE in mark_reference_fields
Date: Wed, 21 Mar 2001 00:12:58 -0500 (EST)
On Tue, 20 Mar 2001, Alexandre Petit-Bianco wrote:
> - push_super_field (this_class, super_class);
> + push_super_field (this_class, maybe_super_class);
<groan> I tried that myself but thought it did not work. Need more
sleep...
So what this says is the original super_class is bogus, so ignore it?
Ugly... but, whatever works. Hey, I learned some new parts of the
compiler today ;)
Want to close that PR?
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: java/2333: ICE in mark_reference_fields
@ 2001-04-01 0:00 Alexandre Petit-Bianco
0 siblings, 0 replies; 4+ messages in thread
From: Alexandre Petit-Bianco @ 2001-04-01 0:00 UTC (permalink / raw)
To: apbianco; +Cc: gcc-prs
The following reply was made to PR java/2333; it has been noted by GNATS.
From: Alexandre Petit-Bianco <apbianco@cygnus.com>
To: Jeff Sturm <jsturm@one-point.com>
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: java/2333: ICE in mark_reference_fields
Date: Tue, 20 Mar 2001 21:52:46 -0800 (PST)
Jeff Sturm writes:
> So what this says is the original super_class is bogus, so ignore
> it?
Well, it might not have been yet laid out.
./A
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-04-01 0:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-03-20 20:26 java/2333: ICE in mark_reference_fields jsturm
2001-03-20 20:56 Alexandre Petit-Bianco
2001-03-20 21:16 Jeff Sturm
2001-04-01 0:00 Alexandre Petit-Bianco
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).