------- Comment #4 from vsoni at tilera dot com 2010-03-25 00:21 -------
(In reply to comment #2)
> I read that t.f promotes to int.
I concede to this interpretation for C++.
Note that the behavior for C/C99 also changed:
$ gcc-4.1.2 -std=c99 -Wall -pedantic x.c; ./a.out
x.c: In function main:
x.c:5: warning: type of bit-field f is a GCC extension
x.c:8: warning: type of bit-field f is a GCC extension
100000000 200000000 0
8000 0 0
$ gcc-4.4.0 -std=c99 -Wall -pedantic x.c; ./a.out
x.c: In function main:
x.c:5: warning: type of bit-field f is a GCC extension
x.c:8: warning: type of bit-field f is a GCC extension
100000000 0 0
8000 0 0
So apparently s.f doesn't promote to long anymore in C99. Is this change in
behavior also intentional and correct?
--
vsoni at tilera dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|integral promotion of long |integral promotion of long
|bit-fields broken in g++ |bit-fields broken in gcc
|4.4.0 |4.4.0?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43393