[CoinUtils-tickets] [COIN-OR Common Utilities] #64: CoinSort.hpp compilation issue

COIN-OR Common Utilities coin-trac at coin-or.org
Tue May 24 12:39:00 EDT 2011


#64: CoinSort.hpp compilation issue
---------------------+------------------------------------------------------
Reporter:  girardea  |       Type:  defect
  Status:  new       |   Priority:  major 
 Version:            |   Keywords:        
---------------------+------------------------------------------------------
 I just downloaded the latest tarball of Clp (1.13.3), not sure which
 version of CoinUtils is included in there. When trying to compile a file
 that includes CoinSort.hpp (indirectly through OsiClpSolverInterface.hpp)
 with GCC4.5.2 or GCC4.2, I get the following errors:

 {{{
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp: In member
 function ‘bool CoinFirstLess_2<S, T>::operator()(const CoinPair<S, T>&,
 const CoinPair<S, T>&) const’:
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:45:26:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:45:15:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp: In member
 function ‘bool CoinFirstAbsLess_2<S, T>::operator()(const CoinPair<S, T>&,
 const CoinPair<S, T>&) const’:
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:68:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:68:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:68:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:69:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:69:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:69:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp: In member
 function ‘bool CoinFirstAbsGreater_2<S, T>::operator()(CoinPair<S, T>,
 CoinPair<S, T>) const’:
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:82:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:82:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:82:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:83:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:83:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:83:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp: In member
 function ‘bool CoinFirstLess_3<S, T, U>::operator()(const CoinTriple<S, T,
 U>&, const CoinTriple<S, T, U>&) const’:
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:376:26:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:376:15:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp: In member
 function ‘bool CoinFirstAbsLess_3<S, T, U>::operator()(const CoinTriple<S,
 T, U>&, const CoinTriple<S, T, U>&) const’:
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:399:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:399:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:399:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:400:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:400:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:400:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp: In member
 function ‘bool CoinFirstAbsGreater_3<S, T, U>::operator()(const
 CoinTriple<S, T, U>&, const CoinTriple<S, T, U>&) const’:
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:414:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:414:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:414:24:
 error: parse error in template argument list
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:415:56:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:415:67:
 error: ‘.’ cannot appear in a constant-expression
 /home/pierre/devel/Clp-1.13.3/build/include/coin/CoinSort.hpp:415:24:
 error: parse error in template argument list
 }}}

 It's been a while since I haven't used Clp, but I do not recall having
 that type of errors. It used to compile straight away. Is this a known
 bug? Should I consider downgrading to an earlier version in the meantime?

 Thanks.

-- 
Ticket URL: <https://projects.coin-or.org/CoinUtils/ticket/64>
COIN-OR Common Utilities <http://projects.coin-or.org/CoinUtils>
Common data structures and linear algebra functions for COIN-OR projects



More information about the CoinUtils-tickets mailing list