Antoine Pitrou created ARROW-3251:
-------------------------------------
Summary: [C++] Conversion warnings in cast.cc
Key: ARROW-3251
URL: https://issues.apache.org/jira/browse/ARROW-3251
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Antoine Pitrou
This is with gcc 7.3.0 and {{-Wconversion}}.
{code}
../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))
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)