------- Comment #2 from joseph at codesourcery dot com 2007-01-21 12:28 ------- Subject: Re: bit-field: wrong overload resolution
On Sun, 21 Jan 2007, bangerth at dealii dot org wrote: > I only have the C99 standard, and there I read in 6.3.1.1 p2 that only > those variables are promoted to int that are of smaller size. C and C++ handle bit-fields differently. C99 text about bit-fields is irrelevant and misleading for C++. In C++03, integral promotions for bit-fields are specified in 4.5 [conv.prom] (note these are "can be converted", as part of a conversion sequence; the underlying concepts are not those of C), and before any such conversion a C++ bit-field has the declared type as per 9.6 [class.bit] rather than a special type as in C. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30277