Index: boost/rational.hpp =================================================================== --- boost/rational.hpp (revision 74185) +++ boost/rational.hpp (working copy) @@ -389,9 +389,11 @@ // Determine relative order by expanding each value to its simple continued // fraction representation using the Euclidian GCD algorithm. - struct { int_type n, d, q, r; } ts = { this->num, this->den, this->num / - this->den, this->num % this->den }, rs = { r.num, r.den, r.num / r.den, - r.num % r.den }; + struct { int_type n, d, q, r; } + ts = { this->num, this->den, + int_type(this->num / this->den), int_type(this->num % this->den) }, + rs = { r.num, r.den, + int_type(r.num / r.den), int_type(r.num % r.den) }; unsigned reverse = 0u; // Normalize negative moduli by repeatedly adding the (positive) denominator