Hi again, On 19/02/10 18:39, Marc Lehmann wrote:
On Fri, Feb 19, 2010 at 06:26:49PM +0100, Alejandro Mery<[email protected]> wrote:what's the danger? why do you insist in refusing this?a compiler might well find an aliasing issue with the existing code, but unlikely with the patch."at best" they reduce tons of warnings without affecting the code.if you get tons of warnings then your compiler or config is broken, and this is certainly the exception.what's wrong with the warnings?good question, I don't get any warnings, and libev doesn't generate them. so you need to identify where the warnings originate (e..g in your compiler) and then ask this question to those people who actually control the code that generates such bogus warnings.they add tons of noise that doesn't allow us to see clearly other warnings that can be interesting.exactly... but this really is out of the scope for libev, as libev doesn't generate those warnings.
ok, simple test case. (yes, it's "only warnings", but they distract a LOT)
$ grep -n ^ test.c
1:#include <ev.h>
2:#include <stdio.h>
3:
4:static void stdin_cb(struct ev_loop *loop, ev_io *w, int revents)
5:{
6: puts("stdin ready\n");
7: ev_io_stop(loop, w);
8: ev_unloop(loop, EVUNLOOP_ALL);
9:}
10:
11:int main(void)
12:{
13: struct ev_loop *loop = ev_default_loop(0);
14: ev_io stdin_watcher;
15:
16: ev_io_init(&stdin_watcher, stdin_cb, 0, EV_READ);
17: ev_io_start(loop, &stdin_watcher);
18:
19: ev_loop(loop, 0);
20:
21: return 0;
22:}
$ gcc -W -Wall -O2 -o test -lev test.c
test.c: In function ‘stdin_cb’:
test.c:4: warning: unused parameter ‘revents’
test.c: In function ‘main’:
test.c:16: warning: dereferencing type-punned pointer will break
strict-aliasing rules
test.c:16: warning: dereferencing type-punned pointer will break
strict-aliasing rules
test.c:16: warning: dereferencing type-punned pointer will break
strict-aliasing rules
test.c:16: warning: dereferencing pointer ‘stdin_watcher.22’ does
break strict-aliasing rules
test.c:16: warning: dereferencing pointer ‘stdin_watcher.22’ does
break strict-aliasing rules
test.c:16: warning: dereferencing pointer ‘stdin_watcher.22’ does
break strict-aliasing rules
test.c:16: warning: dereferencing pointer ‘stdin_watcher.22’ does
break strict-aliasing rules
test.c:16: warning: dereferencing pointer ‘stdin_watcher.22’ does
break strict-aliasing rules
test.c:16: note: initialized from here $ gcc --version gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1 Regards, Alejandro Mery
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
