diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fff54a6cf0c..f26e8ffff72 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2000-11-21 Gabriel Dos Reis + + * include/bits/std_complex.h (complex): Constructor + complex::complex(const complex&) is not explicit; + since it is a promotion. + (complex): Constructors taking complex and + complex are not explicit. + 2000-11-20 Benjamin Kosnik * include/bits/std_complex.h: Tweaks, include cmath for abs overloads. diff --git a/libstdc++-v3/include/bits/std_complex.h b/libstdc++-v3/include/bits/std_complex.h index 35ca37890e3..de5ad9a97c5 100644 --- a/libstdc++-v3/include/bits/std_complex.h +++ b/libstdc++-v3/include/bits/std_complex.h @@ -617,7 +617,7 @@ namespace std #ifdef _GLIBCPP_BUGGY_COMPLEX complex(const complex& __z) : _M_value(__z._M_value) { } #endif - explicit complex(const complex&); + complex(const complex&); explicit complex(const complex&); double real() const; @@ -772,8 +772,8 @@ namespace std #ifdef _GLIBCPP_BUGGY_COMPLEX complex(const complex& __z) : _M_value(__z._M_value) { } #endif - explicit complex(const complex&); - explicit complex(const complex&); + complex(const complex&); + complex(const complex&); long double real() const; long double imag() const; @@ -920,6 +920,8 @@ namespace std // These bits have to be at the end of this file, so that the // specializations have all been defined. + // ??? No, they have to be there because of compiler limitation at + // inlining. It suffices that class specializations be defined. inline complex::complex(const complex& __z) : _M_value(_ComplexT(__z._M_value)) { }