I'd like to get a warning for code like this:

#include <iostream>
using namespace std;
int main()
{
   unsigned long four = 400000;
   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

Reply via email to