]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
std_complex.h (complex<double>): Constructor complex<double>::complex(const complex...
authorGabriel Dos Reis <gdr@codesourcery.com>
Tue, 21 Nov 2000 00:08:02 +0000 (00:08 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Tue, 21 Nov 2000 00:08:02 +0000 (00:08 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/std_complex.h

index fff54a6cf0c1e7e7c172f19bc13073759bf104e7..f26e8ffff72964aba4ca97f0b18662e1e8f9256a 100644 (file)
@@ -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.
index 35ca37890e3861d9c4e6c5e58fd49a69c9a4b266..de5ad9a97c50bb30804e2d0954ac46d2876355fc 100644 (file)
@@ -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)) { }