summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2000-11-21 00:08:02 +0000
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2000-11-21 00:08:02 +0000
commitc687985bc21b85dfa1bb85c86719c99ed62670e7 (patch)
treea5e8559565720275bedb6a973da8d5e45ec00a98
parent96872883e3efbf510eecc53ffa1f5e625c5421f4 (diff)
downloadppe42-gcc-c687985bc21b85dfa1bb85c86719c99ed62670e7.tar.gz
ppe42-gcc-c687985bc21b85dfa1bb85c86719c99ed62670e7.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37599 138bc75d-0d04-0410-961f-82ee72b054a4
-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 fff54a6cf0c..f26e8ffff72 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 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<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)) { }
OpenPOWER on IntegriCloud