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-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

* 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-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

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).