l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
April 21: Google Glass
Next Installfest:
TBD
Latest News:
Mar. 18: Google Glass at LUGOD's April meeting
Page last updated:
2006 Jun 04 21:03

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] gcc and quieting warnings
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] gcc and quieting warnings



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.

Thanks,
Pete
_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.