Boost logo

Boost Users :

Subject: Re: [Boost-users] Intel Compiler 11 and Boost 1.39 Bessel functions
From: Matthieu Brucher (matthieu.brucher_at_[hidden])
Date: 2009-07-20 07:44:37


2009/7/20 John Maddock <john_at_[hidden]>:
>> I've tried this code with Boost 1.39 (1.37 has the same behavior) and
>> icpc 11.0.083:
>>
>> #include <iostream>
>> #include <boost/math/special_functions/bessel.hpp>
>>
>> int main(int argv, char** argc)
>> {
>>  std::cout << boost::math::cyl_bessel_i(0, 0) << std::endl;
>> }
>>
>> With -g -03, this crashes with an internal error. The issue was
>> reported to Intel (but if you have a solution, I'm all ears).
>
> If it's an internal compiler error then frankly your guess is as good as
> mine :-(
>
> I can't reproduce here with Intel-11 on Windows and my Intel-Linux license
> has just expired so I can't reproduce there either :-(

:|
Perhaps you can try the free non-commercial edition?

> If you can narrow down the code that causes the compiler to choke I might be
> able to suggest some alternatives though,

I've narrowed the problem down to two lines in bessel.hpp:
- the call to bessel_ik() line 262
- the recursive call to cyl_bessel_imp()

Commenting both of them makes the error disappear. If one of these
lines is compiled, the compiler crashes (don't know why a recursive
call can do that :|)

> Sorry I can't be more helpful, John.

No worries, as you've said, it is mainly a compiler issue!

Matthieu

-- 
Information System Engineer, Ph.D.
Website: http://matthieu-brucher.developpez.com/
Blogs: http://matt.eifelle.com and http://blog.developpez.com/?blog=92
LinkedIn: http://www.linkedin.com/in/matthieubrucher

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net