[Bug c++/38055] key for compilation -Wconversion

2009-01-23 Thread manu at gcc dot gnu dot org


--- Comment #1 from manu at gcc dot gnu dot org  2009-01-24 01:40 ---
Quoting the FAQ at http://gcc.gnu.org/wiki/NewWconversion#faq

Why Wconversion is not enabled by -Wall or at least by -Wextra?

Implicit conversions are very common in C. This tied with the fact that there
is no data-flow in front-ends (see next question) results in hard to avoid
warnings for perfectly working and valid code. Wconversion is designed for a
niche of uses (security audits, porting 32 bit code to 64 bit, etc.) where the
programmer is willing to accept and workaround invalid warnings. Therefore, it
shouldn't be enabled if it is not explicitly requested. 


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38055



[Bug c++/38055] key for compilation -Wconversion

2009-01-23 Thread lisp2d at lisp2d dot net


--- Comment #2 from lisp2d at lisp2d dot net  2009-01-24 06:00 ---
The niche is selected incorrectly. Basically the considerable quantity of
errors of programming is linked to implicit type conversion.

void insert(char*,char,unsigned int){..}

insert(..,..,size_t);

Example

double d = 1.0;
int i;
i = d;

correctly and necessary to write so:

double d = 1.0;
int i;
i = (int)d;

In the program text this obvious conversion will be visible.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38055