With this and other patches floating on the list we're down to three warnings: (this is with gcc 4.6.0, with 4.4.4 - which is standard on ubuntu 10.10 - I got more bogus warnings)
CC libpulsecommon_1.0_la-ipacl.lo pulsecore/ipacl.c: In function ‘pa_ip_acl_check’: pulsecore/ipacl.c:238:20: warning: cannot optimize loop, the loop counter may overflow [-Wunsafe-loop-optimizations] I have no idea how to do this one. It seems safe to ignore. CC libpulsecommon_1.0_la-memtrap.lo pulsecore/memtrap.c: In function ‘sigsafe_error’: pulsecore/memtrap.c:72:5: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] We really want to ignore the return value here, because you can't really do anything about a failing write, as it's in a signal handler and we're aborting anyway. That line already casts the result to (void), but that doesn't seem to stop the warning: pulsecore/memtrap.c:72: (void) write(STDERR_FILENO, s, strlen(s)); CC libbluetooth_sbc_la-sbc.lo modules/bluetooth/sbc/sbc.c: In function ‘sbc_decode’: modules/bluetooth/sbc/sbc.c:498:10: warning: cannot optimize possibly infinite loops [-Wunsafe-loop-optimizations] Not our code I think I have had enough of this. But if there are others that are interested in fixing warnings: compiling with clang works now in git master and gives plenty of warnings to play with ;-) Maarten 2011/3/19 Maarten Bosmans <mkbosm...@gmail.com>: > Mostly warnings about unused stuff. > Furthermore, the first hunk is a fix for the change in 177948a6. > Finally, comment in AEC_dtd was translated and the code simplified slightly. > > CC module_bluetooth_device_la-module-bluetooth-device.lo > modules/bluetooth/module-bluetooth-device.c: In function > ‘a2dp_process_render’: > modules/bluetooth/module-bluetooth-device.c:1335:30: warning: pointer targets > in passing argument 6 of ‘sbc_encode’ > differ in signedness [-Wpointer-sign] > ../src/modules/bluetooth/sbc/sbc.h:92:9: note: expected ‘ssize_t *’ but > argument is of type ‘size_t *’ > > CC module_rygel_media_server_la-module-rygel-media-server.lo > modules/module-rygel-media-server.c:383:13: warning: > ‘append_property_dict_entry_object_array’ defined but not used > [-Wunused-function] > > CC module_echo_cancel_la-adrian-aec.lo > modules/echo-cancel/adrian-aec.h:360:15: warning: ‘AEC_getambient’ defined > but not used [-Wunused-function] > modules/echo-cancel/adrian-aec.h:368:14: warning: ‘AEC_setgain’ defined but > not used [-Wunused-function] > modules/echo-cancel/adrian-aec.h:374:14: warning: ‘AEC_setaes’ defined but > not used [-Wunused-function] > modules/echo-cancel/adrian-aec.h:377:16: warning: ‘AEC_max_dotp_xf_xf’ > declared ‘static’ but never defined [-Wunused-function] > > CC module_echo_cancel_la-module-echo-cancel.lo > modules/echo-cancel/module-echo-cancel.c: In function ‘time_callback’: > modules/echo-cancel/module-echo-cancel.c:266:12: warning: variable ‘fs’ set > but not used [-Wunused-but-set-variable] > > CC module-virtual-sink.lo > modules/module-virtual-sink.c: In function ‘sink_input_pop_cb’: > modules/module-virtual-sink.c:206:15: warning: variable ‘current_latency’ set > but not used [-Wunused-but-set-variable] > --- > src/modules/bluetooth/module-bluetooth-device.c | 2 +- > src/modules/echo-cancel/adrian-aec.c | 16 ++++++---------- > src/modules/echo-cancel/adrian-aec.h | 7 +++---- > src/modules/echo-cancel/module-echo-cancel.c | 4 ++-- > src/modules/module-rygel-media-server.c | 1 + > src/modules/module-virtual-sink.c | 2 +- > src/pulse/gccmacro.h | 2 +- > 7 files changed, 15 insertions(+), 19 deletions(-) > > diff --git a/src/modules/bluetooth/module-bluetooth-device.c > b/src/modules/bluetooth/module-bluetooth-device.c > index 5561054..ac0f16f 100644 > --- a/src/modules/bluetooth/module-bluetooth-device.c > +++ b/src/modules/bluetooth/module-bluetooth-device.c > @@ -1326,7 +1326,7 @@ static int a2dp_process_render(struct userdata *u) { > to_write = a2dp->buffer_size - sizeof(*header) - sizeof(*payload); > > while (PA_LIKELY(to_encode > 0 && to_write > 0)) { > - size_t written; > + ssize_t written; > ssize_t encoded; > > encoded = sbc_encode(&a2dp->sbc, > diff --git a/src/modules/echo-cancel/adrian-aec.c > b/src/modules/echo-cancel/adrian-aec.c > index 6793e59..04b31e9 100644 > --- a/src/modules/echo-cancel/adrian-aec.c > +++ b/src/modules/echo-cancel/adrian-aec.c > @@ -107,8 +107,7 @@ AEC* AEC_init(int RATE, int have_vector) > // mapped to 1.0 with a limited linear function. > static float AEC_dtd(AEC *a, REAL d, REAL x) > { > - float stepsize; > - float ratio, M; > + float ratio, stepsize; > > // fast near-end and far-end average > a->dfast += ALPHAFAST * (fabsf(d) - a->dfast); > @@ -129,16 +128,13 @@ static float AEC_dtd(AEC *a, REAL d, REAL x) > // ratio of NFRs > ratio = (a->dfast * a->xslow) / (a->dslow * a->xfast); > > - // begrenzte lineare Kennlinie > - M = (STEPY2 - STEPY1) / (STEPX2 - STEPX1); > - if (ratio < STEPX1) { > + // Linear interpolation with clamping at the limits > + if (ratio < STEPX1) > stepsize = STEPY1; > - } else if (ratio > STEPX2) { > + else if (ratio > STEPX2) > stepsize = STEPY2; > - } else { > - // Punktrichtungsform einer Geraden > - stepsize = M * (ratio - STEPX1) + STEPY1; > - } > + else > + stepsize = STEPY1 + (STEPY2 - STEPY1) * (ratio - STEPX1) / (STEPX2 - > STEPX1); > > return stepsize; > } > diff --git a/src/modules/echo-cancel/adrian-aec.h > b/src/modules/echo-cancel/adrian-aec.h > index 235984b..9c722b9 100644 > --- a/src/modules/echo-cancel/adrian-aec.h > +++ b/src/modules/echo-cancel/adrian-aec.h > @@ -357,7 +357,7 @@ static REAL AEC_nlms_pw(AEC *a, REAL d, REAL x_, float > stepsize); > */ > int AEC_doAEC(AEC *a, int d_, int x_); > > -static float AEC_getambient(AEC *a) { > +PA_GCC_UNUSED static float AEC_getambient(AEC *a) { > return a->dfast; > }; > static void AEC_setambient(AEC *a, float Min_xf) { > @@ -365,16 +365,15 @@ static void AEC_setambient(AEC *a, float Min_xf) { > a->delta = (NLMS_LEN-1) * Min_xf * Min_xf; > a->dotp_xf_xf += a->delta; // add new delta > }; > -static void AEC_setgain(AEC *a, float gain_) { > +PA_GCC_UNUSED static void AEC_setgain(AEC *a, float gain_) { > a->gain = gain_; > }; > #if 0 > void AEC_openwdisplay(AEC *a); > #endif > -static void AEC_setaes(AEC *a, float aes_y2_) { > +PA_GCC_UNUSED static void AEC_setaes(AEC *a, float aes_y2_) { > a->aes_y2 = aes_y2_; > }; > -static double AEC_max_dotp_xf_xf(AEC *a, double u); > > #define _AEC_H > #endif > diff --git a/src/modules/echo-cancel/module-echo-cancel.c > b/src/modules/echo-cancel/module-echo-cancel.c > index a3ad169..56fa89e 100644 > --- a/src/modules/echo-cancel/module-echo-cancel.c > +++ b/src/modules/echo-cancel/module-echo-cancel.c > @@ -263,7 +263,7 @@ static void time_callback(pa_mainloop_api *a, > pa_time_event *e, const struct tim > struct userdata *u = userdata; > uint32_t old_rate, base_rate, new_rate; > int64_t diff_time; > - size_t fs; > + //size_t fs; > struct snapshot latency_snapshot; > > pa_assert(u); > @@ -281,7 +281,7 @@ static void time_callback(pa_mainloop_api *a, > pa_time_event *e, const struct tim > /* calculate drift between capture and playback */ > diff_time = calc_diff(u, &latency_snapshot); > > - fs = pa_frame_size(&u->source_output->sample_spec); > + //fs = pa_frame_size(&u->source_output->sample_spec); > old_rate = u->sink_input->sample_spec.rate; > base_rate = u->source_output->sample_spec.rate; > > diff --git a/src/modules/module-rygel-media-server.c > b/src/modules/module-rygel-media-server.c > index 9d23e8a..f34142c 100644 > --- a/src/modules/module-rygel-media-server.c > +++ b/src/modules/module-rygel-media-server.c > @@ -380,6 +380,7 @@ static void append_variant_item_display_name(DBusMessage > *m, DBusMessageIter *it > append_variant_string(m, iter, display_name); > } > > +PA_GCC_UNUSED > static void append_property_dict_entry_object_array(DBusMessage *m, > DBusMessageIter *iter, const char *name, const char *path[], unsigned n) { > DBusMessageIter sub; > > diff --git a/src/modules/module-virtual-sink.c > b/src/modules/module-virtual-sink.c > index cc13490..f772314 100644 > --- a/src/modules/module-virtual-sink.c > +++ b/src/modules/module-virtual-sink.c > @@ -203,7 +203,7 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t > nbytes, pa_memchunk *chunk > size_t fs; > unsigned n, c; > pa_memchunk tchunk; > - pa_usec_t current_latency; > + pa_usec_t current_latency PA_GCC_UNUSED; > > pa_sink_input_assert_ref(i); > pa_assert(chunk); > diff --git a/src/pulse/gccmacro.h b/src/pulse/gccmacro.h > index 57e8050..5749a6b 100644 > --- a/src/pulse/gccmacro.h > +++ b/src/pulse/gccmacro.h > @@ -49,7 +49,7 @@ > #ifdef __GNUC__ > #define PA_GCC_UNUSED __attribute__ ((unused)) > #else > -/** Macro for not used parameter */ > +/** Macro for not used function, variable or parameter */ > #define PA_GCC_UNUSED > #endif > > -- > 1.7.1 > > _______________________________________________ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss