[Bug preprocessor/36123] New: wrong #if 1/-2 and (-1)/2 overflow warnings
h dot b dot furuseth at usit dot uio dot no
gcc-bugzilla@gcc.gnu.org
Sun May 4 16:17:00 GMT 2008
gcc dislikes this prefix to a program depending on C99 integer division:
$ cat bug.c
#if 1/-2 || (-1)/2
# error "integer division rounding away from zero not supported"
#endif
$ gcc-4.2.2 -fsyntax-only bug.c
bug.c:1:12: warning: integer overflow in preprocessor expression
bug.c:1:21: warning: integer overflow in preprocessor expression
It doesn't complain about #if 1/2 || (-1)/(-2), nor nonzero expressions
#if 3/-2 || (-3)/2.
(Well, the latter reaches the #error directive of course.)
Checked for gcc 4.2.2, 4.0.2 and 3.4.6.
--
Summary: wrong #if 1/-2 and (-1)/2 overflow warnings
Product: gcc
Version: 4.2.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: h dot b dot furuseth at usit dot uio dot no
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36123
More information about the Gcc-bugs
mailing list