1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2*67e74705SXin Li 3*67e74705SXin Li@interface PBXTrackableTaskManager @end 4*67e74705SXin Li@implementation PBXTrackableTaskManager @end 5*67e74705SXin Li 6*67e74705SXin Listruct x { 7*67e74705SXin Li operator PBXTrackableTaskManager *() const { return 0; } 8*67e74705SXin Li} a; 9*67e74705SXin Li 10*67e74705SXin Listruct y { 11*67e74705SXin Li operator int *() const { return 0; } 12*67e74705SXin Li} b; 13*67e74705SXin Li 14*67e74705SXin Livoid test1() { 15*67e74705SXin Li @synchronized (a) { 16*67e74705SXin Li } 17*67e74705SXin Li 18*67e74705SXin Li @synchronized (b) { // expected-error {{@synchronized requires an Objective-C object type ('struct y' invalid)}} 19*67e74705SXin Li } 20*67e74705SXin Li} 21