1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li 3*67e74705SXin Li@interface NSString @end 4*67e74705SXin Li 5*67e74705SXin Li@interface NSString (NSStringExtensionMethods) 6*67e74705SXin Li+ (id)stringWithUTF8String:(const char *)nullTerminatedCString; 7*67e74705SXin Li@end 8*67e74705SXin Li 9*67e74705SXin Liextern char *strdup(const char *str); 10*67e74705SXin Li 11*67e74705SXin Liid constant_string() { 12*67e74705SXin Li return @("boxed constant string."); 13*67e74705SXin Li} 14*67e74705SXin Li 15*67e74705SXin Liid dynamic_string() { 16*67e74705SXin Li return @(strdup("boxed dynamic string")); 17*67e74705SXin Li} 18*67e74705SXin Li 19*67e74705SXin Liid const_char_pointer() { 20*67e74705SXin Li return @((const char *)"constant character pointer"); 21*67e74705SXin Li} 22*67e74705SXin Li 23*67e74705SXin Liid missing_parentheses() { 24*67e74705SXin Li return @(5; // expected-error {{expected ')'}} \ 25*67e74705SXin Li // expected-note {{to match this '('}} 26*67e74705SXin Li} 27*67e74705SXin Li 28*67e74705SXin Li// rdar://10679157 29*67e74705SXin Livoid bar(id p); 30*67e74705SXin Livoid foo(id p) { 31*67e74705SXin Li bar(@{p, p}); // expected-error {{expected ':'}} 32*67e74705SXin Li bar(0); 33*67e74705SXin Li bar(0); 34*67e74705SXin Li} 35