aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@codesourcery.com>2000-11-21 00:08:02 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2000-11-21 00:08:02 +0000
commitb555ebaa9e48c2b52b675258021a98b0f9adb7f8 (patch)
treea5e8559565720275bedb6a973da8d5e45ec00a98
parentb5ecf629d55f1c28126b1b4d3ed6f2b32fd10cc3 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--libstdc++-v3/include/bits/std_complex.h8
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)) { }