type_traits (is_polymorphic): Don't forget the virtual destructor, thus avoiding warnings.
2005-03-07 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits (is_polymorphic): Don't forget the virtual destructor, thus avoiding warnings. * testsuite/testsuite_tr1.h (class AbstractClass, class PolymorphicClass): Likewise. 2005-03-07 Paolo Carlini <pcarlini@suse.de> * include/std/std_complex.h (pow(const complex<_Tp>&, const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(), __y.__rep()) or __complex_pow(__x, __y) depending on the macro _GLIBCXX_USE_C99_COMPLEX. From-SVN: r96048
This commit is contained in:
parent
92db3ec9db
commit
cff001b2e8
4 changed files with 35 additions and 6 deletions
|
@ -1,3 +1,17 @@
|
|||
2005-03-07 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/tr1/type_traits (is_polymorphic): Don't forget
|
||||
the virtual destructor, thus avoiding warnings.
|
||||
* testsuite/testsuite_tr1.h (class AbstractClass,
|
||||
class PolymorphicClass): Likewise.
|
||||
|
||||
2005-03-07 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/std/std_complex.h (pow(const complex<_Tp>&,
|
||||
const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(),
|
||||
__y.__rep()) or __complex_pow(__x, __y) depending on the macro
|
||||
_GLIBCXX_USE_C99_COMPLEX.
|
||||
|
||||
2005-03-07 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/std/std_fstream.h (basic_fstream<>::open,
|
||||
|
|
|
@ -966,14 +966,20 @@ namespace std
|
|||
{ return __builtin_cpow(__x, __y); }
|
||||
|
||||
inline __complex__ long double
|
||||
__complex_pow(__complex__ long double& __x, __complex__ long double& __y)
|
||||
__complex_pow(const __complex__ long double& __x,
|
||||
const __complex__ long double& __y)
|
||||
{ return __builtin_cpowl(__x, __y); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline complex<_Tp>
|
||||
pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
|
||||
{ return __complex_pow(__x.__rep(), __y.__rep()); }
|
||||
#else
|
||||
template<typename _Tp>
|
||||
inline complex<_Tp>
|
||||
pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
|
||||
{ return __complex_pow(__x, __y); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline complex<_Tp>
|
||||
|
|
|
@ -319,8 +319,11 @@ namespace tr1
|
|||
template<typename _Up>
|
||||
struct __second
|
||||
: public _Up
|
||||
{ virtual void __dummy(); };
|
||||
|
||||
{
|
||||
virtual void __dummy();
|
||||
virtual ~__second();
|
||||
};
|
||||
|
||||
public:
|
||||
static const bool __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>);
|
||||
};
|
||||
|
|
|
@ -121,10 +121,16 @@ namespace __gnu_test
|
|||
{ operator int() const; };
|
||||
|
||||
class AbstractClass
|
||||
{ virtual void rotate(int) = 0; };
|
||||
{
|
||||
virtual void rotate(int) = 0;
|
||||
virtual ~AbstractClass();
|
||||
};
|
||||
|
||||
class PolymorphicClass
|
||||
{ virtual void rotate(int); };
|
||||
{
|
||||
virtual void rotate(int);
|
||||
virtual ~PolymorphicClass();
|
||||
};
|
||||
|
||||
class DerivedPolymorphic : public PolymorphicClass { };
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue