https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80731
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- Author: msebor Date: Wed May 24 22:07:21 2017 New Revision: 248431 URL: https://gcc.gnu.org/viewcvs?rev=248431&root=gcc&view=rev Log: PR c/80731 - poor -Woverflow warnings gcc/c-family/ChangeLog: PR c/80731 * c-common.h (unsafe_conversion_p): Add a function argument. * c-common.c (unsafe_conversion_p): Same. Add type names and values to diagnostics. (scalar_to_vector): Adjust. * c-warn.c (constant_expression_error): Add a function argument. Add type names and values to diagnostics. (conversion_warning): Add a function argument. Add type names and values to diagnostics. (warnings_for_convert_and_check): Same. gcc/c/ChangeLog: PR c/80731 * c-fold.c (c_fully_fold_internal): Adjust. * c-typeck.c (parser_build_unary_op): Adjust. gcc/cp/ChangeLog: PR c/80731 * call.c (fully_fold_internal): Adjust. gcc/testsuite/ChangeLog: PR c/80731 * c-c++-common/Wfloat-conversion.c: Adjust. * c-c++-common/dfp/convert-int-saturate.c: Same. * c-c++-common/pr68657-1.c: Same. * g++.dg/ext/utf-cvt.C: Same. * g++.dg/ext/utf16-4.C: Same. * g++.dg/warn/Wconversion-real-integer-3.C: Same. * g++.dg/warn/Wconversion-real-integer2.C: Same. * g++.dg/warn/Wconversion3.C: Same. * g++.dg/warn/Wconversion4.C: Same. * g++.dg/warn/Wsign-conversion.C: Same. * g++.dg/warn/overflow-warn-1.C: Same. * g++.dg/warn/overflow-warn-3.C: Same. * g++.dg/warn/overflow-warn-4.C: Same. * g++.dg/warn/pr35635.C: Same. * g++.old-deja/g++.mike/enum1.C: Same. * gcc.dg/Wconversion-3.c: Same. * gcc.dg/Wconversion-5.c: Same. * gcc.dg/Wconversion-complex-c99.c: Same. * gcc.dg/Wconversion-complex-gnu.c: Same. * gcc.dg/Wconversion-integer.c: Same. * gcc.dg/Wsign-conversion.c: Same. * gcc.dg/bitfld-2.c: Same. * gcc.dg/c90-const-expr-11.c: Same. * gcc.dg/c90-const-expr-7.c: Same. * gcc.dg/c99-const-expr-7.c: Same. * gcc.dg/overflow-warn-1.c: Same. * gcc.dg/overflow-warn-2.c: Same. * gcc.dg/overflow-warn-3.c: Same. * gcc.dg/overflow-warn-4.c: Same. * gcc.dg/overflow-warn-5.c: Same. * gcc.dg/overflow-warn-8.c: Same. * gcc.dg/overflow-warn-9.c: New test. * gcc.dg/pr35635.c: Adjust. * gcc.dg/pr59940.c: Same. * gcc.dg/pr59963-2.c: Same. * gcc.dg/pr60114.c: Same. * gcc.dg/switch-warn-2.c: Same. * gcc.dg/utf-cvt.c: Same. * gcc.dg/utf16-4.c: Same. Added: trunk/gcc/testsuite/gcc.dg/overflow-warn-9.c Modified: trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-common.h trunk/gcc/c-family/c-warn.c trunk/gcc/c/ChangeLog trunk/gcc/c/c-fold.c trunk/gcc/c/c-typeck.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/c-c++-common/Wfloat-conversion.c trunk/gcc/testsuite/c-c++-common/dfp/convert-int-saturate.c trunk/gcc/testsuite/c-c++-common/pr68657-1.c trunk/gcc/testsuite/g++.dg/ext/utf-cvt.C trunk/gcc/testsuite/g++.dg/ext/utf16-4.C trunk/gcc/testsuite/g++.dg/warn/Wconversion-real-integer-3.C trunk/gcc/testsuite/g++.dg/warn/Wconversion-real-integer2.C trunk/gcc/testsuite/g++.dg/warn/Wconversion3.C trunk/gcc/testsuite/g++.dg/warn/Wconversion4.C trunk/gcc/testsuite/g++.dg/warn/Wsign-conversion.C trunk/gcc/testsuite/g++.dg/warn/overflow-warn-1.C trunk/gcc/testsuite/g++.dg/warn/overflow-warn-3.C trunk/gcc/testsuite/g++.dg/warn/overflow-warn-4.C trunk/gcc/testsuite/g++.dg/warn/pr35635.C trunk/gcc/testsuite/g++.old-deja/g++.mike/enum1.C trunk/gcc/testsuite/gcc.dg/Wconversion-3.c trunk/gcc/testsuite/gcc.dg/Wconversion-5.c trunk/gcc/testsuite/gcc.dg/Wconversion-complex-c99.c trunk/gcc/testsuite/gcc.dg/Wconversion-complex-gnu.c trunk/gcc/testsuite/gcc.dg/Wconversion-integer.c trunk/gcc/testsuite/gcc.dg/Wsign-conversion.c trunk/gcc/testsuite/gcc.dg/bitfld-2.c trunk/gcc/testsuite/gcc.dg/c90-const-expr-11.c trunk/gcc/testsuite/gcc.dg/c90-const-expr-7.c trunk/gcc/testsuite/gcc.dg/c99-const-expr-7.c trunk/gcc/testsuite/gcc.dg/overflow-warn-1.c trunk/gcc/testsuite/gcc.dg/overflow-warn-2.c trunk/gcc/testsuite/gcc.dg/overflow-warn-3.c trunk/gcc/testsuite/gcc.dg/overflow-warn-4.c trunk/gcc/testsuite/gcc.dg/overflow-warn-5.c trunk/gcc/testsuite/gcc.dg/overflow-warn-8.c trunk/gcc/testsuite/gcc.dg/pr35635.c trunk/gcc/testsuite/gcc.dg/pr59940.c trunk/gcc/testsuite/gcc.dg/pr59963-2.c trunk/gcc/testsuite/gcc.dg/pr60114.c trunk/gcc/testsuite/gcc.dg/switch-warn-2.c trunk/gcc/testsuite/gcc.dg/utf-cvt.c trunk/gcc/testsuite/gcc.dg/utf16-4.c