[GIT] ppl/ppl(master): Fixed wrong type uses.

Module: ppl/ppl Branch: master Commit: c5f8aeb2c48c426585f21c69ed8561d470d607c6 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=c5f8aeb2c48c4...
Author: Abramo Bagnara abramo.bagnara@gmail.com Date: Sun Oct 30 11:42:38 2011 +0100
Fixed wrong type uses. Detected by ECLAIR service utypflag.
---
demos/ppl_lcdd/ppl_lcdd.cc | 12 +++++++----- demos/ppl_pips/ppl_pips.cc | 4 ++-- src/Concrete_Expression.inlines.hh | 2 +- src/Float.defs.hh | 18 +++++++++--------- src/Float.inlines.hh | 28 ++++++++++++++++------------ src/checked_float.inlines.hh | 2 +- src/globals.defs.hh | 4 ++-- 7 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/demos/ppl_lcdd/ppl_lcdd.cc b/demos/ppl_lcdd/ppl_lcdd.cc index af49457..c1f47b8 100644 --- a/demos/ppl_lcdd/ppl_lcdd.cc +++ b/demos/ppl_lcdd/ppl_lcdd.cc @@ -301,7 +301,7 @@ warning(const char* format, ...) { extern "C" typedef void (*sig_handler_type)(int);
void -set_alarm_on_cpu_time(const unsigned seconds, sig_handler_type handler) { +set_alarm_on_cpu_time(const unsigned long seconds, sig_handler_type handler) { sigset_t mask; sigemptyset(&mask);
@@ -489,13 +489,14 @@ void normalize(const std::vector<mpq_class>& source, std::vector<mpz_class>& dest, mpz_class& denominator) { - unsigned n = source.size(); + typedef std::vector<mpq_class> size_type; + size_type n = source.size(); denominator = 1; - for (unsigned i = 0; i < n; ++i) + for (size_type i = 0; i < n; ++i) mpz_lcm(denominator.get_mpz_t(), denominator.get_mpz_t(), source[i].get_den().get_mpz_t()); - for (unsigned i = 0; i < n; ++i) + for (size_type i = 0; i < n; ++i) dest[i] = denominator*source[i]; }
@@ -545,7 +546,8 @@ read_coefficients(std::istream& in, const Number_Type number_type, std::vector<mpz_class>& coefficients, mpz_class& denominator) { - unsigned num_coefficients = coefficients.size(); + typedef std::vector<mpz_class>::size_type size_type; + size_type num_coefficients = coefficients.size(); switch (number_type) { case INTEGER: { diff --git a/demos/ppl_pips/ppl_pips.cc b/demos/ppl_pips/ppl_pips.cc index ca4c0e1..c3a2f31 100644 --- a/demos/ppl_pips/ppl_pips.cc +++ b/demos/ppl_pips/ppl_pips.cc @@ -113,7 +113,7 @@ PPL::PIP_Problem::Control_Parameter_Value cutting_strategy PPL::PIP_Problem::Control_Parameter_Value pivot_row_strategy = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
-int loop_iterations = 1; +long loop_iterations = 1;
void pip_display_sol(std::ostream& out, @@ -824,7 +824,7 @@ main(int argc, char* argv[]) try { else { std::auto_ptrPPL::PIP_Problem pipp; // Perform a time benchmark loop executing the resolution several times. - for (int i = 0; i < loop_iterations; ++i) { + for (long i = 0; i < loop_iterations; ++i) { pipp.reset(new PPL::PIP_Problem(pip)); pipp->solve(); } diff --git a/src/Concrete_Expression.inlines.hh b/src/Concrete_Expression.inlines.hh index b12963a..875677a 100644 --- a/src/Concrete_Expression.inlines.hh +++ b/src/Concrete_Expression.inlines.hh @@ -37,7 +37,7 @@ Concrete_Expression_Type const Bounded_Integer_Type_Representation representation, const Bounded_Integer_Type_Overflow overflow) { Implementation impl; - impl.bounded_integer = 1; + impl.bounded_integer = 1U; impl.bounded_integer_type_width = width; impl.bounded_integer_type_representation = representation; impl.bounded_integer_type_overflow = overflow; diff --git a/src/Float.defs.hh b/src/Float.defs.hh index 1c1929c..3148095 100644 --- a/src/Float.defs.hh +++ b/src/Float.defs.hh @@ -215,10 +215,10 @@ struct float_intel_double_extended { static const uint32_t MSP_NEG_INF = 0x0000ffff; static const uint32_t MSP_POS_ZERO = 0x00000000; static const uint32_t MSP_NEG_ZERO = 0x00008000; - static const uint64_t LSP_INF = 0x8000000000000000ULL; + static const uint64_t LSP_INF = (uint64_t)0x8000000000000000ULL; static const uint64_t LSP_ZERO = 0; - static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL; - static const uint64_t LSP_NMAX = 0xffffffffffffffffULL; + static const uint64_t LSP_DMAX = (uint64_t)0x7fffffffffffffffULL; + static const uint64_t LSP_NMAX = (uint64_t)0xffffffffffffffffULL; static const unsigned int BASE = 2; static const unsigned int EXPONENT_BITS = 15; static const unsigned int MANTISSA_BITS = 63; @@ -252,14 +252,14 @@ struct float_ieee754_quad { uint64_t lsp; uint64_t msp; #endif - static const uint64_t MSP_SGN_MASK = 0x8000000000000000ULL; - static const uint64_t MSP_POS_INF = 0x7fff000000000000ULL; - static const uint64_t MSP_NEG_INF = 0xffff000000000000ULL; - static const uint64_t MSP_POS_ZERO = 0x0000000000000000ULL; - static const uint64_t MSP_NEG_ZERO = 0x8000000000000000ULL; + static const uint64_t MSP_SGN_MASK = (uint64_t)0x8000000000000000ULL; + static const uint64_t MSP_POS_INF = (uint64_t)0x7fff000000000000ULL; + static const uint64_t MSP_NEG_INF = (uint64_t)0xffff000000000000ULL; + static const uint64_t MSP_POS_ZERO = (uint64_t)0x0000000000000000ULL; + static const uint64_t MSP_NEG_ZERO = (uint64_t)0x8000000000000000ULL; static const uint64_t LSP_INF = 0; static const uint64_t LSP_ZERO = 0; - static const uint64_t LSP_MAX = 0xffffffffffffffffULL; + static const uint64_t LSP_MAX = (uint64_t)0xffffffffffffffffULL; static const unsigned int BASE = 2; static const unsigned int EXPONENT_BITS = 15; static const unsigned int MANTISSA_BITS = 112; diff --git a/src/Float.inlines.hh b/src/Float.inlines.hh index 9ae573f..ba3a42b 100644 --- a/src/Float.inlines.hh +++ b/src/Float.inlines.hh @@ -82,7 +82,8 @@ float_ieee754_half::set_max(bool negative) {
inline void float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) { - word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1); + word = static_cast<uint16_t>(mpz_get_ui(mantissa) + & ((1UL << MANTISSA_BITS) - 1)); if (negative) word |= SGN_MASK; int exponent_repr = exponent + EXPONENT_BIAS; @@ -142,7 +143,8 @@ float_ieee754_single::set_max(bool negative) {
inline void float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) { - word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1); + word = static_cast<uint32_t>(mpz_get_ui(mantissa) + & ((1UL << MANTISSA_BITS) - 1)); if (negative) word |= SGN_MASK; int exponent_repr = exponent + EXPONENT_BIAS; @@ -218,16 +220,17 @@ float_ieee754_double::set_max(bool negative) {
inline void float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) { + unsigned long m; #if ULONG_MAX == 0xffffffffUL lsp = mpz_get_ui(mantissa); mpz_tdiv_q_2exp(mantissa, mantissa, 32); - unsigned long m = mpz_get_ui(mantissa); + m = mpz_get_ui(mantissa); #else - unsigned long m = mpz_get_ui(mantissa); - lsp = m; + m = mpz_get_ui(mantissa); + lsp = static_cast<uint32_t>(m & LSP_MAX); m >>= 32; #endif - msp = m & ((1UL << (MANTISSA_BITS - 32)) - 1); + msp = static_cast<uint32_t>(m & ((1UL << (MANTISSA_BITS - 32)) - 1)); if (negative) msp |= MSP_SGN_MASK; int exponent_repr = exponent + EXPONENT_BIAS; @@ -287,7 +290,8 @@ float_ibm_single::set_max(bool negative) {
inline void float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) { - word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1); + word = static_cast<uint32_t>(mpz_get_ui(mantissa) + & ((1UL << MANTISSA_BITS) - 1)); if (negative) word |= SGN_MASK; int exponent_repr = exponent + EXPONENT_BIAS; @@ -358,7 +362,7 @@ float_intel_double_extended::inc() { inline void float_intel_double_extended::set_max(bool negative) { msp = 0x00007ffe; - lsp = 0xffffffffffffffffULL; + lsp = (uint64_t)0xffffffffffffffffULL; if (negative) msp |= MSP_SGN_MASK; } @@ -437,8 +441,8 @@ float_ieee754_quad::inc() {
inline void float_ieee754_quad::set_max(bool negative) { - msp = 0x7ffeffffffffffffULL; - lsp = 0xffffffffffffffffULL; + msp = (uint64_t)0x7ffeffffffffffffULL; + lsp = (uint64_t)0xffffffffffffffffULL; if (negative) msp |= MSP_SGN_MASK; } @@ -449,7 +453,7 @@ float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) { mpz_export(parts, 0, -1, 8, 0, 0, mantissa); lsp = parts[0]; msp = parts[1]; - msp &= ((1ULL << (MANTISSA_BITS - 64)) - 1); + msp &= ((((uint64_t)1) << (MANTISSA_BITS - 64)) - 1); if (negative) msp |= MSP_SGN_MASK; int exponent_repr = exponent + EXPONENT_BIAS; @@ -464,7 +468,7 @@ is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2) {
#if defined(__GNUC__) inline unsigned int ld2(unsigned long long a) { - return __builtin_clzll(a) ^ (sizeof(a)*8 - 1); + return __builtin_clzll(a) ^ (sizeof(a)*8 - 1); } #else unsigned int ld2(unsigned long long v) { diff --git a/src/checked_float.inlines.hh b/src/checked_float.inlines.hh index b8685b2..5f91f67 100644 --- a/src/checked_float.inlines.hh +++ b/src/checked_float.inlines.hh @@ -986,7 +986,7 @@ output_float(std::ostream& os, const Type from, const Numeric_Format&, else if (is_nan<Policy>(from)) os << "nan"; else { - int old_precision = os.precision(10000); + std::streamsize old_precision = os.precision(10000); // FIXME: here correctness depends on the behavior of the standard // output operator which, in turn, may depend on the behavior // of printf(). The C99 standard, 7.19.16.1#13, does not give diff --git a/src/globals.defs.hh b/src/globals.defs.hh index 95edcd4..4f4de80 100644 --- a/src/globals.defs.hh +++ b/src/globals.defs.hh @@ -356,13 +356,13 @@ struct Fit<T, v, typename Enable_If<C_Integer<T>::value>::type> { }; };
-template <typename T, long long v> +template <typename T, T v> struct TConstant { static const T value = v; };
-template <typename T, long long v> +template <typename T, T v> const T TConstant<T, v>::value;
template <typename T, long long v, bool prefer_signed = true,
participants (1)
-
Abramo Bagnara