@interface O
{
}
@end

@protocol E
@end

@class F;
@interface G: O {
}
@end

@interface F: O <E> {
   G *g;
}
-(id)bar:(G *)baz;
@end

@implementation F
-(id)bar:(G *)baz {
   self->g = baz;
   return self;
}
@end

ICEs with -fobjc-gc -fgnu-runtime (works without -fobjc-gc or with -fobjc-gc
-fnext-runtime).  Apparently objc_assign_ivar_fast_decl and
objc_assign_ivar_decl are only initialized for next runtime, but are used
unconditionally even for GNU runtime.


-- 
           Summary: ICE in objc_build_ivar_assignment
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: objc
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org


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

Reply via email to