http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47108
--- Comment #1 from pinskia at gmail dot com <pinskia at gmail dot com> 2010-12-29 13:18:40 UTC --- enum { a=1<<33 }blaf; That is still an int as 1 is of type int. Try 1ll<<33.