complex vs. __builtin_cpow
Benjamin Kosnik
bkoz@redhat.com
Wed Jun 2 20:07:00 GMT 2004
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
More information about the Libstdc++
mailing list