------- 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

Reply via email to