diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-28 10:52:17 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-28 10:52:17 +0000 |
commit | 09a2ff972177247d648a0a63e70d9067ab4542fb (patch) | |
tree | 7a986812cd4af8a3ab9e5994607328938b23d352 /libstdc++-v3/include/std/complex | |
parent | fbac6ad0c52fe9d3a3b3ba12a02c7198b21c854f (diff) | |
download | ppe42-gcc-09a2ff972177247d648a0a63e70d9067ab4542fb.tar.gz ppe42-gcc-09a2ff972177247d648a0a63e70d9067ab4542fb.zip |
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48760
* include/std/complex (complex<float>::complex(float, float),
complex<double>::complex(double, double),
complex<long double>::complex(long double, long double)): Use
list-initialization in C++0x mode, initialize in the body in
C++03 mode.
* testsuite/26_numerics/complex/cons/48760.cc: New.
* testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/bitset (_Base_bitset(unsigned long long)): Minor
tweak, remove redundant round braces.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173065 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/std/complex')
-rw-r--r-- | libstdc++-v3/include/std/complex | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex index d36eddca5a6..0ce7e55343f 100644 --- a/libstdc++-v3/include/std/complex +++ b/libstdc++-v3/include/std/complex @@ -1,7 +1,7 @@ // The template and inlines for the -*- C++ -*- complex number classes. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008, 2009, 2010 +// 2006, 2007, 2008, 2009, 2010, 2011 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -1046,7 +1046,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_CONSTEXPR complex(_ComplexT __z) : _M_value(__z) { } _GLIBCXX_CONSTEXPR complex(float __r = 0.0f, float __i = 0.0f) - : _M_value(__r + __i * 1.0fi) { } +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + : _M_value{ __r, __i } { } +#else + { + __real__ _M_value = __r; + __imag__ _M_value = __i; + } +#endif explicit _GLIBCXX_CONSTEXPR complex(const complex<double>&); explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&); @@ -1186,7 +1193,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_CONSTEXPR complex(_ComplexT __z) : _M_value(__z) { } _GLIBCXX_CONSTEXPR complex(double __r = 0.0, double __i = 0.0) - : _M_value(__r + __i * 1.0i) { } +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + : _M_value{ __r, __i } { } +#else + { + __real__ _M_value = __r; + __imag__ _M_value = __i; + } +#endif _GLIBCXX_CONSTEXPR complex(const complex<float>& __z) : _M_value(__z.__rep()) { } @@ -1328,7 +1342,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_CONSTEXPR complex(long double __r = 0.0L, long double __i = 0.0L) - : _M_value(__r + __i * 1.0Li) { } +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + : _M_value{ __r, __i } { } +#else + { + __real__ _M_value = __r; + __imag__ _M_value = __i; + } +#endif _GLIBCXX_CONSTEXPR complex(const complex<float>& __z) : _M_value(__z.__rep()) { } |