Bugs item #751269, was opened at 2003-06-09 03:47
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=751269&group_id=7586
Category: functional
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Mark Rodgers (mark_rodgers)
Summary: Cannot compile octonion_test.cpp because of bug in sinc.hpp
Initial Comment:
octonion_test.cpp cannot be compiled neither gcc 3.2
nor Intel compiler because of the possible bug in
boost/math/special_functions/sinc.hpp and in
boost/math/special_functions/sinhc.hpp. Here are given
the command line and the error (got from bjam build
from �status� directory):
g++ -c -Wall -ftemplate-depth-100 -g -O0 -fno-
inline -I"../libs/math/test" -
I "/home/users/vsysoltx/boost_loki/boost_1_30_0" -
o "../libs/math/test/bin/octonion_test.test/gcc/bjam/archit
ecture-native/debug-symbols-on/inlining-off/instruction-
set-default/optimization-off/profiling-off/rtti-on/runtime-link-
dynamic/shared-linkable-false/threading-single/vtable-
thunks-
default/octonion_test.o" "../libs/math/test/../octonion/oct
onion_test.cpp"
/home/users/vsysoltx/boost_loki/boost_1_30_0/boost/ma
th/special_functions/sinc.hpp: In
function `U<T> boost::math::sinc_pi(U<T>) [with T =
float, U =
boost::math::octonion]':
../libs/math/octonion/octonion_test.cpp:432:
instantiated from here
/home/users/vsysoltx/boost_loki/boost_1_30_0/boost/ma
th/special_functions/sinc.hpp:109: no
matching function for call to `abs(const
boost::math::octonion<float>&)'
<internal>:109: candidates are: int std::abs(int)
/usr/include/c++/3.2/cstdlib:119: long int
std::abs(long int)
/usr/include/c++/3.2/cstdlib:142: long long int
__gnu_cxx::abs(long long int)
/usr/include/c++/3.2/cmath:87: double
std::abs(double)
/usr/include/c++/3.2/cmath:91: float std::abs
(float)
/usr/include/c++/3.2/cmath:95: long double
std::abs(long
double)
The reason why compiler cannot find the appropriate
boost::math::abs<T>(octonion<T>) definition is that here
is used ::abs directive inside function. When this
directive is used in the function definition, it hides the
names from outermost namespaces. I don�t know why, I
haven�t found this in standards, but that�s true both for
gcc 3.2 and for Intel compiler. To compile these files I
used a patch which is attached. In it the using directives
are simply carried out of the function definition. That�s
work with both compiler.
For any questions you may contact me via
[EMAIL PROTECTED]
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=751269&group_id=7586
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
Boost-bugs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/boost-bugs
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost