Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-3251

[C++] Conversion warnings in cast.cc

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.11.0
    • C++

    Description

      This is with gcc 7.3.0 and -Wconversion.

      ../src/arrow/compute/kernels/cast.cc: In instantiation of ‘void arrow::compute::CastFunctor<O, I, typename std::enable_if<arrow::compute::is_float_truncate<O, I>::value>::type>::operator()(arrow::compute::FunctionContext*, const arrow::compute::CastOptions&, const arrow::ArrayData&, arrow::ArrayData*) [with O = arrow::Int64Type; I = arrow::DoubleType; typename std::enable_if<arrow::compute::is_float_truncate<O, I>::value>::type = void]’:
      ../src/arrow/compute/kernels/cast.cc:1105:1:   required from here
      ../src/arrow/compute/kernels/cast.cc:291:45: warning: conversion to ‘in_type {aka double}’ from ‘long int’ may alter its value [-Wconversion]
                 if (ARROW_PREDICT_FALSE(out_value != *in_data)) {
                                         ~~~~~~~~~~^~~~~
      ../src/arrow/util/macros.h:37:50: note: in definition of macro ‘ARROW_PREDICT_FALSE’
       #define ARROW_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                                        ^
      ../src/arrow/compute/kernels/cast.cc:301:45: warning: conversion to ‘in_type {aka double}’ from ‘long int’ may alter its value [-Wconversion]
                 if (ARROW_PREDICT_FALSE(out_value != *in_data)) {
                                         ~~~~~~~~~~^~~~~
      ../src/arrow/util/macros.h:37:50: note: in definition of macro ‘ARROW_PREDICT_FALSE’
       #define ARROW_PREDICT_FALSE(x) (__builtin_expect(x, 0))
      

      Attachments

        Issue Links

          Activity

            People

              apitrou Antoine Pitrou
              apitrou Antoine Pitrou
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m