------- Comment #5 from jason at gcc dot gnu dot org 2010-05-23 02:13 ------- This seems pretty clearly a compiler bug; it only occurs in template context. In a non-template function there is no error. That is, this works:
#include <complex> void f() { std::complex<float> z4 = {1.1, 2.2}; } but this doesn't: #include <complex> template <class T> void f() { std::complex<float> z4 = {1.1, 2.2}; } template void f<int>(); -- jason at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |jason at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Component|libstdc++ |c++ Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-05-23 02:13:32 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41510