[ 
https://issues.apache.org/jira/browse/ARROW-2347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16411130#comment-16411130
 ] 

Antoine Pitrou commented on ARROW-2347:
---------------------------------------

At least the enum signedness warnings can be fixed easily by making the C++ 
enums signed, e.g.:
{code:c++}
struct Type {
  enum type : signed int {
    // etc.
{code}

> [Python] Multiple warnings with -Wconversion
> --------------------------------------------
>
>                 Key: ARROW-2347
>                 URL: https://issues.apache.org/jira/browse/ARROW-2347
>             Project: Apache Arrow
>          Issue Type: Bug
>            Reporter: Antoine Pitrou
>            Priority: Minor
>
> There are multiple warnings when compiling the Cython-generated code with 
> {{-Wconversion}}:
>  {code}
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx: In function 
> 'PyObject* __pyx_pf_7pyarrow_3lib_62union(PyObject*, PyObject*, PyObject*)':
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx:23850:45: 
> warning: conversion to 'std::vector<unsigned char>::value_type {aka unsigned 
> char}' from 'int' may alter its value [-Wconversion]
>        __pyx_v_type_codes.push_back(__pyx_v_i);
>                                              ^
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx: In function 
> 'PyObject* 
> __Pyx_PyInt_From_enum____arrow_3a__3a_Type_3a__3a_type(arrow::Type::type)':
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx:125758:70: 
> warning: the result of the conversion is unspecified because '-1' is outside 
> the range of type 'arrow::Type::type' [-Wconversion]
>      const enum  arrow::Type::type neg_one = (enum  arrow::Type::type) -1, 
> const_zero = (enum  arrow::Type::type) 0;
>                                                                       ^
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx: In function 
> 'PyObject* 
> __Pyx_PyInt_From_enum____arrow_3a__3a_UnionMode_3a__3a_type(arrow::UnionMode::type)':
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx:125789:80: 
> warning: the result of the conversion is unspecified because '-1' is outside 
> the range of type 'arrow::UnionMode::type' [-Wconversion]
>      const enum  arrow::UnionMode::type neg_one = (enum  
> arrow::UnionMode::type) -1, const_zero = (enum  arrow::UnionMode::type) 0;
>                                                                               
>   ^
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx: In function 
> 'PyObject* 
> __Pyx_PyInt_From_enum____arrow_3a__3a_TimeUnit_3a__3a_type(arrow::TimeUnit::type)':
> /home/antoine/arrow/python/build/temp.linux-x86_64-3.6/lib.cxx:125820:78: 
> warning: the result of the conversion is unspecified because '-1' is outside 
> the range of type 'arrow::TimeUnit::type' [-Wconversion]
>      const enum  arrow::TimeUnit::type neg_one = (enum  
> arrow::TimeUnit::type) -1, const_zero = (enum  arrow::TimeUnit::type) 0;
>                                                                               
> ^
> {code}
> (also similar warnings for _parquet.pyx due to Parquet enumerations)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to