diff options
author | Gabriel Dos Reis <gdr@codesourcery.com> | 2000-11-21 00:08:02 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2000-11-21 00:08:02 +0000 |
commit | b555ebaa9e48c2b52b675258021a98b0f9adb7f8 (patch) | |
tree | a5e8559565720275bedb6a973da8d5e45ec00a98 | |
parent | b5ecf629d55f1c28126b1b4d3ed6f2b32fd10cc3 (diff) | |
download | gcc-b555ebaa9e48c2b52b675258021a98b0f9adb7f8.zip gcc-b555ebaa9e48c2b52b675258021a98b0f9adb7f8.tar.gz gcc-b555ebaa9e48c2b52b675258021a98b0f9adb7f8.tar.bz2 |
std_complex.h (complex<double>): Constructor complex<double>::complex(const complex<float>&) is not explicit...
2000-11-21 Gabriel Dos Reis <gdr@codesourcery.com>
* include/bits/std_complex.h (complex<double>): Constructor
complex<double>::complex(const complex<float>&) is not explicit;
since it is a promotion.
(complex<long double>): Constructors taking complex<float> and
complex<double> are not explicit.
From-SVN: r37599
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/std_complex.h | 8 |
2 files changed, 13 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fff54a6..f26e8ff 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2000-11-21 Gabriel Dos Reis <gdr@codesourcery.com> + + * include/bits/std_complex.h (complex<double>): Constructor + complex<double>::complex(const complex<float>&) is not explicit; + since it is a promotion. + (complex<long double>): Constructors taking complex<float> and + complex<double> are not explicit. + 2000-11-20 Benjamin Kosnik <bkoz@redhat.com> * 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 35ca378..de5ad9a 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<float>&); + complex(const complex<float>&); explicit complex(const complex<long double>&); 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<float>&); - explicit complex(const complex<double>&); + complex(const complex<float>&); + complex(const complex<double>&); 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<float>::complex(const complex<double>& __z) : _M_value(_ComplexT(__z._M_value)) { } |