This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
At the moment, there is a warning if a floating-point constant is too large to fit in the type's range. In such cases the constant is converted to +inf or -inf. However, there is no warning if the constant is too small and it is taken as 0. The following patch adds such warning. It also adds the possibility of enabling the warning not only with -pedantic but also with -Wconversion (since it fits its definition).
I could only test using i686-pc-linux-gnu. Any suggestions to make the tests more portable?
PR other/23572 * c-lex.c (interpret_float): Warn if the constant is too small and thus it is taken as 0. Warn with -pedantic or -Wconversion.
testsuite/ * gcc.dg/gcc.dg/pr23572.c: New. Test with -pedantic * gcc.dg/gcc.dg/pr23572-2.c: New. Test with -pedantic-errors. * gcc.dg/gcc.dg/pr23572-3.c: New. Test with -Wconversion.
Attachment:
wfloatunderflow.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |