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