[cfe-dev] gcc incompatiblity when using joined NSStrings/CFStrings

Nico Weber nicolasweber at gmx.de
Thu Dec 27 07:07:29 PST 2007

Here's a more elaborate testcase that compiles without warnings on gcc  
(and gives some compiler errors with clang):

#include <Foundation/Foundation.h>

int main()
   char *c;
   wchar_t *w;
   NSString *s;

   c = "hi";
   w = L"hi";
   s = @"Hi";
   s = @L"hi";
   //L@"hi";  // expected-error{{use of undeclared idenifier 'L'}}

   w = L"hi" "hi" "hi";
   w = "hi" L"hi" "hi";
   w = "hi" "hi" L"hi";

   s = @"hi" "hi" "hi";
   s = "hi" @"hi" "hi";
   s = "hi" "hi" @"hi";

   s = @"hi" L"hi" "hi";
   s = "hi" @"hi" L"hi";
   s = L"hi" "hi" @"hi";

   s = L"hi" @"hi" "hi";
   s = "hi" L"hi" @"hi";
   s = @"hi" "hi" L"hi";

   return 0;

Concatenating objc strings and "normal" strings is not really defined  
anywhere as far as I can tell, but it works in gcc.


More information about the cfe-dev mailing list