objc/4527: Objc 3.0.1 segfaults on Linux i386

nicola@sources.redhat.com nicola@sources.redhat.com
Tue Sep 17 08:06:00 GMT 2002


Synopsis: Objc 3.0.1 segfaults on Linux i386

State-Changed-From-To: open->closed
State-Changed-By: nicola
State-Changed-When: Tue Sep 17 07:32:33 2002
State-Changed-Why:
    Hi - this is a brilliant report :-)
    I could slim down your testcase to the following one -
    
    /* Built from PR/4527 by Nicola Pero.  Amazingly, this testcase fails
       to *compile* on GCC 2.95.4.  Removing the inherited protocol makes
       it work.  This was fixed in later compilers, eg GCC 3.3 compiles it
       Ok.  */
    
    @protocol NodeHandler
    - (void) methodA;
    @end
    
    @protocol InvocationHandler <NodeHandler>
    - (void) methodB;
    @end
    
    @interface InvocationHandler <InvocationHandler>
    @end
    
    @implementation InvocationHandler
    - (void) methodA { ; }
    - (void) methodB { ; }
    @end
    
    int main (void)
    {
      return 0;
    }
    
    It's amazing that even 2.95 fails to compile this program.
    I tried with GCC 3.3 from CVS, and it compiles the program
    fine! :-)
    
    I'm not sure at what stage this was fixed, but there
    were quite a lot of fixes and improvements to protocol
    compilations, once of those must have fixed your problem.
    
    I'm not investigating it any further, since it seems to
    be working perfectly well with GCC 3.3.
    
    Thanks for reporting.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4527



More information about the Gcc-bugs mailing list