http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46304
--- Comment #8 from Andras Pataki <apataki at apataki dot net> 2010-11-16 15:11:04 UTC --- I can confirm that my test case now compiles and runs correctly with the 20101113 snapshot of the 4.6 compiler. However, I've noticed another strangeness relating to complex numbers. Both the 4.5.x and the 4.6 snapshot do not treat complex constants quite the way I'd expect: #include <complex.h> class A { static const complex double x = 1.0 + 2.0i; }; 4.5.1 says: z9.cc:5:41: error: ‘A::x’ cannot be initialized by a non-constant expression when being declared 4.6-20101113 says: z9.cc:5:40: error: field initializer is not constant but 4.4.5 compiles it without complaints. This is the same even if I use the notation 1.0 + 2.0*I for the constant. Andras