mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 20:16:05 +00:00

This reverts commit d618f1c3b12effd0c2bdb7d02108d3551f389d3d. This commit wasn't reviewed ahead of time and significant concerns were raised immediately after it landed. According to our developer policy this warrants immediate revert of the commit. https://llvm.org/docs/DeveloperPolicy.html#patch-reversion-policy Differential Revision: https://reviews.llvm.org/D155509
35 lines
843 B
Objective-C
35 lines
843 B
Objective-C
// REQUIRES: x86-registered-target
|
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -S %s -o - | FileCheck %s
|
|
|
|
// rdar://9072317
|
|
|
|
/** The problem looks like clang getting confused when a single translation unit
|
|
contains a protocol with a property and two classes that implement that protocol
|
|
and synthesize the property.
|
|
*/
|
|
|
|
@protocol Proto
|
|
@property (assign) id prop;
|
|
@end
|
|
|
|
@interface NSObject @end
|
|
|
|
@interface Foo : NSObject <Proto> { int x; } @end
|
|
|
|
@interface Bar : NSObject <Proto> @end
|
|
|
|
@implementation Foo
|
|
@synthesize prop;
|
|
@end
|
|
|
|
@implementation Bar
|
|
@synthesize prop;
|
|
@end
|
|
|
|
// CHECK: _OBJC_$_INSTANCE_METHODS_Bar:
|
|
// CHECK-NEXT: .long 24
|
|
// CHECK-NEXT: .long 2
|
|
// CHECK-NEXT: .quad L_OBJC_METH_VAR_NAME_
|
|
// CHECK-NEXT: .quad L_OBJC_METH_VAR_TYPE_
|
|
// CHECK-NEXT: .quad "-[Bar prop]"
|