This is the mail archive of the gcc@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]

Re: -Wconversion versus libstdc++


Martin Sebor wrote:

FYI: HP aCC warns for some but not all of these types of lossy
initializations. For example, a double to int conversion emits
a warning but ptrdiff_t to size_t or other signed to unsigned
conversions do not, probably because they're so common. I find
this behavior useful.

Thanks Martin for the data point: I understand that this behavior is typical of the compilers based on the EDG front-end?


Anyway, note that our -Wconversion is not part of -Wall, not even -Wextra: are you maintaining that probably the bits having to do with float <-> integer should also be part of -Wall or at least -Wextra? For convenience this is the manual entry for -Wconversion:

|-Wconversion|
   Warn for implicit conversions that may alter a value. This includes
   conversions between real and integer, like |abs (x)| when |x| is
   |double|; conversions between signed and unsigned, like |unsigned ui
   = -1|; and conversions to smaller types, like |sqrtf (M_PI)|. Do not
   warn for explicit casts like |abs ((int) x)| and |ui = (unsigned)
   -1|, or if the value is not changed by the conversion like in |abs
   (2.0)|.
Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]