Here are a few warning-removal changes for daemon/:>From eea38a1937ccd396603ed899d829d2982755ea4a Mon Sep 17 00:00:00 2001From: Jim Meyering <meyering at redhat.com> Date: Thu, 6 Aug 2009 15:25:03 +0200 Subject: [PATCH 1/4] define ATTRIBUTE_UNUSED * daemon/daemon.h (__attribute__, ATTRIBUTE_UNUSED): Define. --- daemon/daemon.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/daemon/daemon.h b/daemon/daemon.h index 70a2351..a6bbb73 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -213,4 +213,14 @@ extern void reply (xdrproc_t xdrp, char *ret); } \ while (0) +#ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) +# define __attribute__(x) /* empty */ +# endif +#endif + +#ifndef ATTRIBUTE_UNUSED +# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#endif + #endif /* GUESTFSD_DAEMON_H */ -- 1.6.4.174.gc193a>From af4e98c3371f6008188fb3ef7136c1ebda008933 Mon Sep 17 00:00:00 2001From: Jim Meyering <meyering at redhat.com> Date: Thu, 6 Aug 2009 15:26:13 +0200 Subject: [PATCH 2/4] build: avoid warnings in daemon/debug.c * daemon/debug.c (do_debug): Mark parameters as unused. --- daemon/debug.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/daemon/debug.c b/daemon/debug.c index 13b7240..5b3b5fa 100644 --- a/daemon/debug.c +++ b/daemon/debug.c @@ -61,7 +61,7 @@ static struct cmd cmds[] = { #endif char * -do_debug (char *subcmd, char **argv) +do_debug (char *subcmd ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { #if ENABLE_DEBUG_COMMAND int argc, i; -- 1.6.4.174.gc193a>From a174e20227e5299a172934d9f60023ac55530a1f Mon Sep 17 00:00:00 2001From: Jim Meyering <meyering at redhat.com> Date: Thu, 6 Aug 2009 15:28:48 +0200 Subject: [PATCH 3/4] build: avoid warnings in daemon/guestfsd.c * daemon/guestfsd.c (print_arginfo, print_shell_quote): Mark each "info" parameter as unused. --- daemon/guestfsd.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 07a1c5e..07a952f 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -718,7 +718,7 @@ split_lines (char *str) */ static int print_shell_quote (FILE *stream, - const struct printf_info *info, + const struct printf_info *info ATTRIBUTE_UNUSED, const void *const *args) { #define SAFE(c) (isalnum((c)) || \ @@ -751,7 +751,7 @@ print_sysroot_shell_quote (FILE *stream, #ifdef HAVE_REGISTER_PRINTF_SPECIFIER static int -print_arginfo (const struct printf_info *info, +print_arginfo (const struct printf_info *info ATTRIBUTE_UNUSED, size_t n, int *argtypes, int *size) { if (n > 0) { -- 1.6.4.174.gc193a>From b9842a2ca010bf89b11b4b640bbdee5df58f8341 Mon Sep 17 00:00:00 2001From: Jim Meyering <meyering at redhat.com> Date: Thu, 6 Aug 2009 16:05:44 +0200 Subject: [PATCH 4/4] build: avoid warnings in daemon/inotify.c Avoid "comparison between signed and unsigned integer expressions" warnings. If it's at all hard or risky to avoid this type of warning, then it's not worthwhile. Here, it's easy and safe. * daemon/inotify.c (inotify_posn): Declare local to be of unsigned type. (do_inotify_read, do_inotify_files): Likewise. --- daemon/inotify.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/daemon/inotify.c b/daemon/inotify.c index 1b90f2b..8bb8ed2 100644 --- a/daemon/inotify.c +++ b/daemon/inotify.c @@ -33,7 +33,7 @@ static int inotify_fd = -1; static char inotify_buf[64*1024*1024]; /* Event buffer, [0..posn-1] is valid */ -static int inotify_posn = 0; +static size_t inotify_posn = 0; /* Because inotify_init does NEED_ROOT, NEED_INOTIFY implies NEED_ROOT. */ #define NEED_INOTIFY(errcode) \ @@ -184,7 +184,8 @@ do_inotify_read (void) while (space > 0) { struct inotify_event *event; - int n, r; + int r; + size_t n; r = read (inotify_fd, inotify_buf + inotify_posn, sizeof (inotify_buf) - inotify_posn); @@ -274,7 +275,7 @@ do_inotify_files (void) { char **ret = NULL; int size = 0, alloc = 0; - int i; + unsigned int i; FILE *fp; guestfs_int_inotify_event_list *events; char buf[PATH_MAX]; -- 1.6.4.174.gc193a
On 10/08/09 09:57, Jim Meyering wrote:> Here are a few warning-removal changes for daemon/: > >> From eea38a1937ccd396603ed899d829d2982755ea4a Mon Sep 17 00:00:00 2001 > From: Jim Meyering<meyering at redhat.com> > Date: Thu, 6 Aug 2009 15:25:03 +0200 > Subject: [PATCH 1/4] define ATTRIBUTE_UNUSED > > * daemon/daemon.h (__attribute__, ATTRIBUTE_UNUSED): Define. > --- > daemon/daemon.h | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/daemon/daemon.h b/daemon/daemon.h > index 70a2351..a6bbb73 100644 > --- a/daemon/daemon.h > +++ b/daemon/daemon.h > @@ -213,4 +213,14 @@ extern void reply (xdrproc_t xdrp, char *ret); > } \ > while (0) > > +#ifndef __attribute__ > +# if __GNUC__< 2 || (__GNUC__ == 2&& __GNUC_MINOR__< 8) > +# define __attribute__(x) /* empty */ > +# endif > +#endif > + > +#ifndef ATTRIBUTE_UNUSED > +# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) > +#endif > + > #endif /* GUESTFSD_DAEMON_H */ > -- > 1.6.4.174.gc193a > > >> From af4e98c3371f6008188fb3ef7136c1ebda008933 Mon Sep 17 00:00:00 2001 > From: Jim Meyering<meyering at redhat.com> > Date: Thu, 6 Aug 2009 15:26:13 +0200 > Subject: [PATCH 2/4] build: avoid warnings in daemon/debug.c > > * daemon/debug.c (do_debug): Mark parameters as unused. > --- > daemon/debug.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/daemon/debug.c b/daemon/debug.c > index 13b7240..5b3b5fa 100644 > --- a/daemon/debug.c > +++ b/daemon/debug.c > @@ -61,7 +61,7 @@ static struct cmd cmds[] = { > #endif > > char * > -do_debug (char *subcmd, char **argv) > +do_debug (char *subcmd ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) > { > #if ENABLE_DEBUG_COMMAND > int argc, i; > -- > 1.6.4.174.gc193aWhat warnings are you turning on? I normally compile with -Wall, and I don't get warning for unused function arguments: [mbooth at mbooth daemon]$ make CFLAGS="-g -Wall" debug.o gcc -DHAVE_CONFIG_H -I. -I./lib -Ilib -g -Wall -MT debug.o -MD -MP -MF .deps/debug.Tpo -c -o debug.o debug.c mv -f .deps/debug.Tpo .deps/debug.Po>> From a174e20227e5299a172934d9f60023ac55530a1f Mon Sep 17 00:00:00 2001 > From: Jim Meyering<meyering at redhat.com> > Date: Thu, 6 Aug 2009 15:28:48 +0200 > Subject: [PATCH 3/4] build: avoid warnings in daemon/guestfsd.c > > * daemon/guestfsd.c (print_arginfo, print_shell_quote): Mark each > "info" parameter as unused. > --- > daemon/guestfsd.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c > index 07a1c5e..07a952f 100644 > --- a/daemon/guestfsd.c > +++ b/daemon/guestfsd.c > @@ -718,7 +718,7 @@ split_lines (char *str) > */ > static int > print_shell_quote (FILE *stream, > - const struct printf_info *info, > + const struct printf_info *info ATTRIBUTE_UNUSED, > const void *const *args) > { > #define SAFE(c) (isalnum((c)) || \ > @@ -751,7 +751,7 @@ print_sysroot_shell_quote (FILE *stream, > > #ifdef HAVE_REGISTER_PRINTF_SPECIFIER > static int > -print_arginfo (const struct printf_info *info, > +print_arginfo (const struct printf_info *info ATTRIBUTE_UNUSED, > size_t n, int *argtypes, int *size) > { > if (n> 0) { > -- > 1.6.4.174.gc193a > > >> From b9842a2ca010bf89b11b4b640bbdee5df58f8341 Mon Sep 17 00:00:00 2001 > From: Jim Meyering<meyering at redhat.com> > Date: Thu, 6 Aug 2009 16:05:44 +0200 > Subject: [PATCH 4/4] build: avoid warnings in daemon/inotify.c > > Avoid "comparison between signed and unsigned integer expressions" > warnings. If it's at all hard or risky to avoid this type of warning, > then it's not worthwhile. Here, it's easy and safe. > * daemon/inotify.c (inotify_posn): Declare local to be of unsigned type. > (do_inotify_read, do_inotify_files): Likewise. > --- > daemon/inotify.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/daemon/inotify.c b/daemon/inotify.c > index 1b90f2b..8bb8ed2 100644 > --- a/daemon/inotify.c > +++ b/daemon/inotify.c > @@ -33,7 +33,7 @@ > static int inotify_fd = -1; > > static char inotify_buf[64*1024*1024]; /* Event buffer, [0..posn-1] is valid */ > -static int inotify_posn = 0; > +static size_t inotify_posn = 0; > > /* Because inotify_init does NEED_ROOT, NEED_INOTIFY implies NEED_ROOT. */ > #define NEED_INOTIFY(errcode) \ > @@ -184,7 +184,8 @@ do_inotify_read (void) > > while (space> 0) { > struct inotify_event *event; > - int n, r; > + int r; > + size_t n; > > r = read (inotify_fd, inotify_buf + inotify_posn, > sizeof (inotify_buf) - inotify_posn); > @@ -274,7 +275,7 @@ do_inotify_files (void) > { > char **ret = NULL; > int size = 0, alloc = 0; > - int i; > + unsigned int i; > FILE *fp; > guestfs_int_inotify_event_list *events; > char buf[PATH_MAX]; > -- > 1.6.4.174.gc193aSame here, I don't get any warnings. In general, I would like to get down to no compiler warnings. The biggest culprit in daemon, though, is rpcgen generated stuff. Matt -- Matthew Booth, RHCA, RHCSS Red Hat Engineering, Virtualisation Team M: +44 (0)7977 267231 GPG ID: D33C3490 GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490
On Mon, Aug 10, 2009 at 10:57:13AM +0200, Jim Meyering wrote:> Here are a few warning-removal changes for daemon/: > char * > -do_debug (char *subcmd, char **argv) > +do_debug (char *subcmd ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) > { > #if ENABLE_DEBUG_COMMAND > int argc, i;Is this correct? Note that the parameters are only unused if ENABLE_DEBUG_COMMAND is not defined, but if this symbol is defined then they are used. I'm worried that gcc will try to optimize them or something. The rest of the patch is fine - ACK. Rich. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 75 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
Possibly Parallel Threads
- [LLVMdev] Re: Re: Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
- [Libvirt Users]how to provide password authentication for qemu driver
- [LLVMdev] Re: Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
- [LLVMdev] Re: Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
- [LLVMdev] gfortran link failure in current llvm svn