[Bug c/88625] New: c11: GCC Allows enumerator value not representable in type int.
anders.granlund.0 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Dec 27 22:09:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88625
Bug ID: 88625
Summary: c11: GCC Allows enumerator value not representable in
type int.
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: anders.granlund.0 at gmail dot com
Target Milestone: ---
Test case (prog.c):
enum E { x = UINT_MAX };
int main()
{
}
Compilation command line:
gcc prog.c -Wall -Wextra -std=c11 -pedantic-errors
Observed behaviour:
No error message outputed.
Expected behaviour:
An error message outputed.
The value of the integer constant expression UINT_MAX is not representable
as an int. This is not allowed.
Reference to the c11 standard (the bugfix version of the c11 standard):
6.7.2.2/2:
"The expression that defines the value of an enumeration constant shall be
an integer constant expression that has a value representable as an int."
Note:
Clang gives the expected error.
More information about the Gcc-bugs
mailing list