From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2008-05-14 10:33:33


I realize that the Units libary is still a work-in-progress, but I
thought you might like to know about these failures. Using 1.35.0
with the latest Units code (SVN rev. 45355) and using GCC 4.1.2, I get
these failures in test/:

test_limits,
test_cmath

The exact compilation errors are in the file attached.

Also, I cannot compile this simple test code. I may very well be
doing something wrong:

#include <boost/units/systems/si.hpp>
#include <boost/units/systems/other/foot.hpp>
#include <boost/units/systems/detail/non_si_unit.hpp>

BOOST_UNITS_NON_SI_UNIT(survey, yard_per_sec, yard_per_sec, 0.3048006
* 3.0, boost::units::SI::velocity, 53);

typedef boost::units::quantity<boost::units::survey::yard_per_sec_base_unit,
double> YardsPerSec;

int main()
{
    YardsPerSec yps1;
    YardsPerSec yps2;
    yps1 -= yps2;
}

The errors are:

g++ test_non_si_units.cpp -o test -g -I /usr/local/include/boost-1_35
/usr/local/include/boost-1_35/boost/units/quantity.hpp: In member
function 'boost::units::quantity<Unit, Y>&
boost::units::quantity<Unit, Y>::operator-=(const
boost::units::quantity<Unit2, YY>&) [with Unit2 =
boost::units::survey::yard_per_sec_base_unit, YY = double, Unit =
boost::units::survey::yard_per_sec_base_unit, Y = double]':
test_non_si_units.cpp:14: instantiated from here
/usr/local/include/boost-1_35/boost/units/quantity.hpp:233: error:
invalid application of 'sizeof' to incomplete type
'boost::STATIC_ASSERTION_FAILURE<false>'

There appear to be no tests defined for the non-SI parts of Units,
which is probably why this has gone unnoticed (if indeed it has).

HTH,
Zach