[Bug c++/20681] [4.4/4.5/4.6/4.7 Regression] wrong "control reaches" warning with switches
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 15 15:21:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681
--- Comment #32 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-15 14:53:13 UTC ---
(In reply to comment #31)
> gcc -Wreturn-type -c r.c
> r.c: In function 'bar':
> r.c:8:1: warning: control reaches end of non-void function [-Wreturn-type]
>
> enum foo { e_1 };
> int bar(enum foo x)
> {
> switch(x) {
> case e_1:
> return 0;
> }
> }
Not a bug, enum foo can have other values except e_1.
What happens if you call bar( (foo)1 ) ?
More information about the Gcc-bugs
mailing list