mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-04 13:56:08 +00:00

parameter types to be ill-formed. However, it relies on the completeness of method parameter types when producing metadata, e.g., for a protocol, leading IR generating to crash in such cases. Since there's no real way to tighten down the semantics of Objective-C here without breaking existing code, do something safe but lame: suppress the generation of metadata when this happens. Fixes <rdar://problem/9123036>. llvm-svn: 132171
20 lines
300 B
Objective-C
20 lines
300 B
Objective-C
// RUN: %clang_cc1 %s -emit-llvm -o -
|
|
|
|
// <rdar://problem/9123036> crash due to forward-declared struct in
|
|
// protocol method parameter.
|
|
|
|
@protocol P
|
|
- (void) A:(struct z) z;
|
|
@end
|
|
@interface I < P >
|
|
@end
|
|
@implementation I
|
|
@end
|
|
|
|
@interface I2
|
|
- (void) A:(struct z2) z2;
|
|
@end
|
|
@implementation I2
|
|
@end
|
|
|