[vox-tech] gcc and quieting warnings
Ken Bloom
kbloom at gmail.com
Sat Jun 3 20:34:25 PDT 2006
On Friday 02 June 2006 10:53, Peter Jay Salzman wrote:
> I always use -W -Wall when I compile code. However, sometimes, I
> want gcc to ignore certain instances of a warning. For example, in
> something like a stub function, or a signal callback, or even an API
> function that doesn't use all the parameters, like:
>
> JNIEXPORT void JNICALL
> Java_HelloWorld_print( JNIEnv *env, jobject obj )
> {
> printf("Hello World!\n");
> return;
> }
>
> gcc of course complains about unused parameters. Of course, I
> *could* simply not use -W -Wall, but I don't want to NOT use -W -Wall
> just because I haven't gotten around to finishing a stub function.
> Besides, active development is the best time to turn on compiler
> warnings.
>
> I also assume there's a gcc -Wfno-unused-parameter (or something
> similar to this). But again, I don't want to turn off the check for
> the entire program just because of one or two functions.
>
> In splint/lclint/lint, "annotations" are used to shut the checker up
> for cases where you don't want it to check a semantic. I don't know
> the exact syntax, but it looks something like:
>
> FILE *fp;
> if ( (fp = fopen("foo", "r")) != NULL )
> f( fp );
> fclose( fp ); /* @NO NULL CHECK@ */
>
> and splint won't complain about the fact that fp may become
> uninitialized or corrupt after passing passing it to f(). The
> annotations are what make splint even remotely useful, otherwise I'd
> be reading warnings all day long.
>
> Does gcc have something similar? Some way of telling the compiler to
> ignore a certain type of warning at a certain point in the code?
>
> I tried doing a search for "annotation" in the behemoth gcc info
> page, but no dice. I wouldn't know what else to call it.
Unfortunately, near as I can figure out, GCC doesn't have a way to use
#pragma to disable a specific warning. (Microsoft Visual C++ does have
such a feature, so it's not a ridiculous idea.)
http://lists.apple.com/archives/Xcode-users/2004/Aug/msg00914.html
--Ken
--
I usually have a GPG digital signature included as an attachment.
See http://www.gnupg.org/ for info about these digital signatures.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://ns1.livepenguin.com/pipermail/vox-tech/attachments/20060603/c34ac466/attachment.pgp
More information about the vox-tech
mailing list