[Bug c/48850] Bogus overflow in constant expression warning
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Tue May 3 10:46:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48850
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-05-03 10:45:43 UTC ---
Remarks:
* This is clearly a bug; the diagnostics given are simply wrong.
* It's not a conformance bug, as C99 permits a limit on object size as
small as 64KiB (in a hosted environment) (and the apparent limit here -
see <http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00096.html> - is 1EiB).
* If it's hard to support such large objects for some reason, a call to
sorry () is the appropriate way to diagnose the lack of support instead of
incorrect overflow diagnostics. There would still be a bug, since GNU
programs should avoid arbitrary limits (meaning anything smaller than that
imposed by the target instruction set, C semantics, ABI etc.), but a less
serious one (GCC is full of inappropriate arbitrary limits, such as 2GB
for a string constant, but the only ones people seem to encounter in
practice are those from stack overflow).
More information about the Gcc-bugs
mailing list