https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61162
--- Comment #5 from Tom Tromey <tromey at gcc dot gnu.org> --- But, curiously, in this case it points to the RHS of the assignment (I still tend to think the "=" is the best location): extern void *alloc (void); int *f (void) { int *r = alloc (); return r; } barimba. gcc --syntax-only -Wc++-compat r.c r.c: In function ‘f’: r.c:4:12: warning: request for implicit conversion from ‘void *’ to ‘int *’ not permitted in C++ [-Wc++-compat] int *r = alloc (); ^