monotone-debian
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-debian] Bug#653764: [Boost.Math] Re: Bug#653764: FTBFS with Bo


From: Steve M. Robbins
Subject: [Monotone-debian] Bug#653764: [Boost.Math] Re: Bug#653764: FTBFS with Boost 1.48: lgamma_small.hpp:483:38: error: expected primary-expression before 'do'
Date: Sun, 1 Jan 2012 18:30:42 -0600
User-agent: Mutt/1.5.21 (2010-09-15)

Hello,

Boost Developers: I recently did rebuilds of all Debian packages that use Boost
with Boost 1.48 and this is one of the casualties of the upgrade (from 1.46.1).


On Sat, Dec 31, 2011 at 12:02:37PM +0100, Zack Weinberg wrote:
> On Fri, Dec 30, 2011 at 9:53 PM, Steve M. Robbins <address@hidden> wrote:
> > This package failed to build using the newest Boost version 1.48:
> ...
> > /usr/include/boost/math/special_functions/detail/lgamma_small.hpp: In 
> > function 'T boost::math::detail::lgamma_small_imp(T, T, T, const 
> > mpl_::int_<0>&, const Policy&, const L&)':
> ...
> > /usr/include/boost/math/special_functions/detail/lgamma_small.hpp:483:38: 
> > error: expected primary-expression before 'do'
> 
> I'm not in a position to verify this for myself for another week, but
> I have a horrible feeling I know what's wrong:  Monotone defines
> several one-character macros for its own use, and L() is one of them.
> It looks like Boost is using L() for its own purposes and expecting it
> not to be a macro.

Zack, you are absolutely right.  The lgamma_small header has a templated
class method using "L" as one of the templates:

template <class T, class Policy, class L>
T lgamma_small_imp(T z, T zm1, T zm2, const mpl::int_<0>&, const Policy& pol, 
const L&)

The compile error at line 483 is at a call to L():

      result = log(gamma_imp(z, pol, L()));


> I'd argue that Boost headers should take care to defend themselves
> from the possibility of such macros, but fixing that in Boost might be
> an enormous amount of work, and in any case, 1.48 is already out
> there.

Boost.Math developers: What is the right thing to do here?  More
descriptive class template parameters?

Attached is a trivial file to reproduce the bug.

Thanks,
-Steve

Attachment: 653764-define-L.cc
Description: Text Data

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]