[cfe-dev] Objective-C Boxed Expressions Error: unexpected '@' in program
Charalampos Emmanouilidis
chrys.emmanouilidis at gmail.com
Thu Dec 6 08:11:19 PST 2012
##
# Clang Version
##
charemma $ clang --version
Debian clang version 3.1-5ppa1 (branches/release_31) (based on LLVM 3.1)
Target: i386-pc-linux-gnu
Thread model: posix
I'm going to build current version 3.2rc3 and try again…
On Dec 6, 2012, at 3:58 PM, Jean-Daniel Dupas <devlists at shadowlab.org> wrote:
> Look like you're using an old clang version.
>
> What clang --version reports ?
>
>
> Le 5 déc. 2012 à 18:47, Charalampos Emmanouilidis <chrys.emmanouilidis at gmail.com> a écrit :
>
>> Tried both compile flags as you suggested:
>>
>>
>> #-fobjc-nonfragile-abi
>> charemma$ clang -x objective-c -I/opt/GNUstep/include -fobjc-nonfragile-abi -o main.c.o -c main.c
>> main.c:10:22: error: unexpected '@' in program
>> NSString *path = @(getenv("PATH"));
>> ^
>> 1 error generated.
>>
>>
>>
>> # -fobjc-runtime=gnustep, please note, this flag is not even recognized
>> charemma$ clang -x objective-c -I/opt/GNUstep/include -fobjc-runtime=gnustep -o main.c.o -c main.c
>> clang: warning: argument unused during compilation: '-fobjc-runtime=gnustep'
>> main.c:10:22: error: unexpected '@' in program
>> NSString *path = @(getenv("PATH"));
>> ^
>> 1 error generated.
>>
>>
>>
>>
>>
>>
>>
>> On Dec 4, 2012, at 10:04 AM, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote:
>>
>>> The new syntax is only supported with the non-fragile ABI. Please add either -fobjc-nonfragile-abi or -fobjc-runtime=gnustep to your compile flags.
>>>
>>> The new ABI is the default on *BSD, however clang defaults to the GCC ABI on GNU platforms for greater compatibility with legacy Objective-C implementations.
>>>
>>> David
>>>
>>> On 4 Dec 2012, at 06:05, Charalampos Chrysovalantis Emmanouilidis wrote:
>>>
>>>> I'm trying to compile some Boxed Expressions with clang 3.1
>>>>
>>>> ##
>>>> # Clang Version
>>>> ##
>>>> charemma $ clang --version
>>>> Debian clang version 3.1-5ppa1 (branches/release_31) (based on LLVM 3.1)
>>>> Target: i386-pc-linux-gnu
>>>> Thread model: posix
>>>>
>>>> ##
>>>> # Sample code in main.c
>>>> ##
>>>> NSString *path = @(getenv("PATH"));
>>>> NSLog(@"PATH %@", path);
>>>>
>>>>
>>>> ##
>>>> # compiler usage
>>>> ##
>>>> charemma$ clang -x objective-c -I/opt/GNUstep/include -o main.c.o -c main.c
>>>> main.c:10:22: error: unexpected '@' in program
>>>> NSString *path = @(getenv("PATH"));
>>>> ^
>>>> 1 error generated.
>>>>
>>>> Do I need to pass any specific flag to clang to get support for Boxed Expressions like @(getenv("PATH"))?
>>>>
>>>> According to this article http://clang.llvm.org/docs/ObjectiveCLiterals.html this should be supported starting with clang v3.1
>>>> _______________________________________________
>>>> cfe-dev mailing list
>>>> cfe-dev at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
> -- Jean-Daniel
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121206/48c1ec9f/attachment.html>
More information about the cfe-dev
mailing list