2007-03-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Mar 2007 23:32:12 +0000 (23:32 +0000)
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Mar 2007 23:32:12 +0000 (23:32 +0000)
commit59dd8856eb0c8646db46941140467a5e342cec54
tree5a95c9649676f7d06f094cc2fa3481529f14eef5
parentec94117da0f841107969a49cce421312f5cbd298
2007-03-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* doc/invoke.texi (-Wconversion): Document warnings specific to C++.
* c-common.c (convert_and_check): Move warning logic to...
(warnings_for_convert_and_check): ...here. Define.
* c-common.h (warnings_for_convert_and_check): Declare.
cp/
* cvt.c (cp_convert_and_check) : Define.
* cp-tree.h (cp_convert_and_check): Declare.
* call.c (convert_conversion_warnings): Rename to
conversion_null_warnings.  The warning for floating-point to
integer is handled by convert_and_check in convert_like_real.
(convert_like_real): convert_conversion_warnings was renamed as
conversion_null_warnings.
* typeck.c (build_binary_op): Use cp_convert_and_check to warn for
overflow and changes of value during conversion.
testsuite/
* g++.dg/warn/Wconversion-integer.C: New
* g++.dg/warn/Wconversion-real.C: New.
* g++.dg/warn/Wconversion-real-integer.C: New.
* g++.dg/warn/conv2.C: Updated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123005 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/cp/typeck.c
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/Wconversion-integer.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wconversion-real-integer.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wconversion-real.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/conv2.C