llvm-project/clang/test/PCH/objc_import.h
Argyrios Kyrtzidis dd7106375c When declaring an ObjC interface decl with a @compatibility_alias alias name, change the class name to the "real" one.
If we have something like

  @class NewImage;
  @compatibility_alias OldImage NewImage;
  @class OldImage;

the lookup for 'OldImage' will return the 'NewImage' decl ("@class NewImage").
In such a case, when creating the decl for "@class OldImage" use the real declaration name ("NewImage"),
instead of the alias one ("OldImage"), otherwise we will break IdentifierResolver and redecls-chain invariants.

Fixes crash of rdar://14112291.

llvm-svn: 184238
2013-06-18 21:26:33 +00:00

19 lines
281 B
Objective-C

/* For use with the objc_import.m test */
@interface TestPCH
+ alloc;
- (void)instMethod;
@end
@class NewID1;
@compatibility_alias OldID1 NewID1;
@class OldID1;
@class OldID1;
@class NewID2;
@compatibility_alias OldID2 NewID2;
@class OldID2;
@interface OldID2
-(void)meth;
@end