------- Comment #7 from rguenth at gcc dot gnu dot org 2008-01-14 15:31 ------- The inconsistency between the two ILs arise because in default_conversion we convert (const long : 33) to (long : 33) via perform_integral_promotions and then is_bitfield_expr_with_lowered_type no longer recognizes the expression as to-be promoted bitfield and thus convert_bitfield_to_declared_type does not do the conversion anymore.
And indeed, is_bitfield_expr_with_lowered_type misses handling for such conversions. Mine. (I still think promotion should be according to integer promotions of bitfields, not according to the declared type) -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2008-01-08 23:19:38 |2008-01-14 15:31:56 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33819