------- Comment #2 from bangerth at dealii dot org  2007-01-21 05:29 -------
No, that's not the case. We can print the types:
-------------
#include <stdio.h>
#include <iostream>
#include <typeinfo>

struct S
{
  unsigned int long long a:33;
};


int main ()
{
  struct S x = { -1 };
  typeof(+x.a) z = x.a+10;
  printf("%llx\n", z);

  std::cout << typeid(x.a).name() << ' ' << typeid(z).name()
            << std::endl;

  return 0;
}
--------------

g/x> ./a.out 
200000009
y y
g/x> c++ x.cc -O2
g/x> ./a.out 
9
y y

'y' apparently encodes unsigned long long.

W.


-- 

bangerth at dealii dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bangerth at dealii dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-01-21 05:29:10
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30332

Reply via email to