unsigned long long da;

  da = ( 1234567ULL << 32 ) | ( 362436069ULL );  

  unsigned int a;
  a = da;

I would expect a warning on the assignment of a lower precision data type to a
higher precision data type with no cast.  gcc V4.4.1-ubuntu with -Wall gives no
warning on the above code.  The behaviour is that the compiler sets a to
362436069.

Matt


-- 
           Summary: -Wall gives no warning
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: spolematt at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43235

Reply via email to