[Bug c++/60978] New: [4.9 Regression] -Wenum-compare warns too eagerly
ppluzhnikov at google dot com
gcc-bugzilla@gcc.gnu.org
Sun Apr 27 22:08:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60978
Bug ID: 60978
Summary: [4.9 Regression] -Wenum-compare warns too eagerly
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppluzhnikov at google dot com
Test case:
enum { A };
enum { B };
int foo(int x)
{
return x ? A : B;
}
gcc -c -Wall t.c
# no warnings
g++ -c t.c
t.c: In function ‘int foo(int)’:
t.c:6:12: warning: enumeral mismatch in conditional expression: ‘<anonymous
enum>’ vs ‘<anonymous enum>’ [-Wenum-compare]
return x ? A : B;
^
First, there is nothing to warn about here (in real code, I return IPPROTO_ICMP
or IPPROTO_ICMPV66 depending on address family).
Second, why is this pointing to the comparison and references enum-compare?
There is no comparison of unrelated enums here.
More information about the Gcc-bugs
mailing list