[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gcc warnings
From: |
Andreas Höschler |
Subject: |
Re: gcc warnings |
Date: |
Wed, 17 Aug 2011 15:41:59 +0200 |
Hi all,
>>
>> I am cross-building on GNUstep/Solaris and MacOSX. When I build code like
>>
>> NSString *message = @"some string"
>> [NSException raise:NSInternalInconsistencyException format:message];
>>
>> on MacOSX 10.6 using GNUstep make, gcc gives the following warning
>>
>> SOEditingContext.m:3574: warning: format not a string literal and no
>> format arguments
>>
>> Any idea how to get rid of that one?
>
>
> [NSException raise:NSInternalInconsistencyException format: @"%@",
> message];
>
> The warning is because it can't do a compile time check of message to see if
> it's a valid format string ... you need to use a string literal as the format
> string.
Thanks for your feedback! I know that this prevents the warning, but I can't do
that. The message is calculated by some method and then returned as a string. I
then need to raise the exception with the readily build string. If NSException
had a +[raise:string:] method I would use that, but it hasn't! :-(
I have the same problem with NSLog(). I am again building the message somewhere
and get it as a NSString. I then simply want to log it out and get the above
warning.
NSLog([localException description]);
That's simply annoying! :-( Isn't there some compiler switch that could be used
to suppress these kind of warnings?
Thanks a lot,
Andreas