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: implicit narrowing conversion.


> > shouldn't this code below generate warnings on "implicit narrowing
> > conversion", on:
> > 	1) "i=f" assignment as well as
> > 	2) on conversion on return from float to int?
>
> The desire for a better -Wconversion has been known for years.  I have a
> notional specification for it, "warn for any implicit conversion that may
> change a value", as discussed at
> <http://www.srcf.ucam.org/~jsm28/gcc/#Wconversion>, arising from a
> discussion on security-audit (there having been a spate of security
> problems relating to implicit signed/unsigned conversions)
> <http://archives.neohapsis.com/archives/linux/lsap/2000-q4/0153.html>, and
> also discussed in bug 6614 and elsewhere.  There are far more features
> that would be nice to have than there is implementation time, and so far
> no-one has contributed an implementation of this one.

hmm that stuff is 4 years old. In that case how about the attached patch?
It seems to work for me. It probably doesn't cover every case mentioned in
the document but I suppose it is better than waiting another 4 years.

//-----------------------------------------------
[adam@mtdew gcc]$ cat test3.c
int main() {

double f;
int i;

i = f;

return f;

}
//-----------------------------------------------
[adam@mtdew gcc]$ /usr/local/gcc/bin/gcc -Wall -W -Wconversion test3.c
test3.c: In function `main':
test3.c:6: warning: real type implicitly converted to integer type
test3.c:8: warning: real type implicitly converted to integer type

[adam@mtdew gcc]$ /usr/local/gcc/bin/gcc -Wall -W test3.c

[adam@mtdew gcc]$ /usr/local/gcc/bin/gcc --version
gcc (GCC) 3.4.0
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

//-----------------------------------------------

Attachment: gcc-3.4.0-implicit.narrowing.conversion.diff
Description: Text document


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