This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/29774] New: enum int type gets promoted to unsigned int in comparison
- From: "chris dot pickett at mail dot mcgill dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Nov 2006 04:33:07 -0000
- Subject: [Bug c/29774] New: enum int type gets promoted to unsigned int in comparison
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
$ cat enum-test.c
enum foo_enum { FOO };
int
main (void)
{
enum foo_enum foo;
if (foo >= FOO)
{
}
}
$ gcc -Wextra enum-test.c
enum-test.c: In function 'main':
enum-test.c:7: warning: comparison of unsigned expression >= 0 is always true
I looked through existing bug reports but didn't find this. If it's a dupe,
please let me know what I should have searched for.
Here is an old thread I found about a related test-case:
http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00772.html
I'm not sure, but even if it's only C99 that says enums have to be ints, the
promotion shouldn't happen for C89 either.
--
Summary: enum int type gets promoted to unsigned int in
comparison
Product: gcc
Version: 4.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: chris dot pickett at mail dot mcgill dot ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29774