From b555ebaa9e48c2b52b675258021a98b0f9adb7f8 Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Tue, 21 Nov 2000 00:08:02 +0000 Subject: [PATCH] std_complex.h (complex): Constructor complex::complex(const complex&) is not explicit... 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. From-SVN: r37599 --- libstdc++-v3/ChangeLog | 8 ++++++++ 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 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)) { }