[Bug objc/12309] New: [objc-imp] ICE on @implementation after undefined protocol declaration

d dot ayers at inode dot at gcc-bugzilla@gcc.gnu.org
Wed Sep 17 02:43:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12309

           Summary: [objc-imp] ICE on @implementation after undefined
                    protocol declaration
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: objc
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: d dot ayers at inode dot at
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: *-*-*
GCC target triplet: *-*-*

When compiling the @implementation of a class that declares to implement a
protocol which hasn't been defined, an ICE occurs dur to the lack of the
error_mark handling.
Example code:
---------------------------
#include <objc/objc.h>

@interface MyClass <UndefinedProtocol>
@end

@implementation MyClass
+(Class)class
{
  return self;
}
@end
----------------------------
=>
QuickTest.m:3: error: cannot find protocol declaration for 
`UndefinedProtocol'
QuickTest.m: In function `+[MyClass class]':

QuickTest.m:8: internal compiler error: tree check: expected tree_list, 
have error_mark in lookup_method_in_protocol_list, at objc/objc-act.c:587



More information about the Gcc-bugs mailing list