[Bug c++/26167] -Wconversion fails to detect signedness conversion from int to unsigned int in fuction call

lopezibanez at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Sep 18 12:45:00 GMT 2006

------- Comment #13 from lopezibanez at gmail dot com  2006-09-18 12:45 -------
(In reply to comment #11)
> yes please. Actually I created my own patch for bringing the C++ frontend on
> ear with the C frontend, but I didn't submit it because it produced bazillions
> of (legal) warnings in the code I usually compile, too many to be useful. 

I would like to take a look to your patch if that is possible.

A few things worth commenting on the wcoercion patch:

1) One of the development goals is to separate the original behaviour of
Wconversion in the C front end from the "other behaviour" of Wconversion
(slightly present on the C front end and pervasive in the C++ front end).
Therefore, Wconversion has been replaced by Wtraditional-conversion and
Wcoercion (the interesting one). The names are tentative, pending discussion by
GCC developers, and likely will change in the future. If you find all this
confusing, please read http://gcc.gnu.org/wiki/Wcoercion#Background. If you
work in the KDE project, it would be interesting (for me) to know your opinion
on how to handle the transition.

2) Wconversion option is not completely deleted by my patch, it still exists
for C++/Fortran/ObjC++ when the behaviour has not been modified and it didn't
conflict with Wtraditional-conversion or Wcoercion. Properly speaking, these
Wconversion warnings should be moved to Wcoercion. However, there is little
point on doing this until there is a definitive decision on the names of the
new options. Thus, to obtain the full set of coercion warnings in C++ you may
need to specify "-Wconversion -Wcoercion" (In short, Wconversion are the ones
that were already there undocumented, Wcoercion are new or modified).

3) There are a few issuess pending the review of GCC developers. For example,
warning messages could be more specific/informative.

4) I don't think we should pollute this bug report further. Thus, feel free to
write me directly. Much better would be to discuss things in public in the gcc
mail list: we may even get the attention of some GCC developer. 



More information about the Gcc-bugs mailing list