This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
complex vs. __builtin_cpow
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: gdr at integrable-solutions dot net
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Wed, 2 Jun 2004 15:07:25 -0500
- Subject: complex vs. __builtin_cpow
- Organization: Red Hat / Chicago
Gaby:
Your new patch gives two new errors on x86/linux:
FAIL: 26_numerics/complex/13450.cc (test for excess errors)
WARNING: 26_numerics/complex/13450.cc compilation failed to produce executable
FAIL: 26_numerics/complex/pow.cc (test for excess errors)
WARNING: 26_numerics/complex/pow.cc compilation failed to produce executable
A sample from the log file:
/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/complex: In function `std::complex<_Tp> std::log(conststd::complex<_Tp>&) [with _Tp = float]':
/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/complex:891: instantiated from `std::complex<_Tp> std::pow(conststd::complex<_Tp>&, const_Tp&) [with _Tp = float]'
/mnt/hd/src/gcc/libstdc++-v3/testsuite/26_numerics/complex/13450.cc:36: instantiated from `void test01_do(T, T) [with T = float]'
/mnt/hd/src/gcc/libstdc++-v3/testsuite/26_numerics/complex/13450.cc:48: instantiated from here
/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/complex:739: error: no matching function for call to `__complex_log(const float __complex__&)'
Now, on line 736 of std_complex.h I see:
/*
inline __complex__ float
__complex_log(__complex__ float __z) { return __builtin_clogf(__z); }
inline __complex__ double
__complex_log(__complex__ double __z) { return __builtin_clog(__z); }
inline __complex__ long double
__complex_log(const __complex__ long double& __z)
{ return __builtin_clog(__z); } */
Is this supposed to be uncommented?
-benjamin