I'd like to get a warning for code like this:
#include
using namespace std;
int main()
{
unsigned long four = 40;
unsigned short two;
two = four;
cout << two << endl;
}
/home/enadler/test/compilerwarnings $ g++ -Werror -Wall -Wconversion -ansi
gccbugreport.cc && a.out
6784
I think GCC is doing the right thing by allowing this code uncasted, and
it is described this way in Bjarne's C++ Programming Language, Special
Edition C.6.2.1.
However, it seems reasonable to me that a warning option should be available
to notify the programmer that data is being thrown away.
Thanks!
Eric
--
Summary: Please add warning if bits thrown away in integral
conversions
Product: gcc
Version: 3.2.3
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gccbugzilla at spamit dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18821