Jeroen created ARROW-4845:
-----------------------------

             Summary: Compiler warnings on Windows
                 Key: ARROW-4845
                 URL: https://issues.apache.org/jira/browse/ARROW-4845
             Project: Apache Arrow
          Issue Type: Bug
          Components: R
    Affects Versions: 0.12.1
            Reporter: Jeroen


I am seeing the warnings below when compiling the R bindings on Windows. Most 
of these seem easy to fix (comparing int with size_t or int32 with int64).

{code}
array.cpp: In function 'Rcpp::LogicalVector Array__Mask(const 
std::shared_ptr<arrow::Array>&)':
array.cpp:102:24: warning: comparison of integer expressions of different 
signedness: 'size_t' {aka 'long long unsigned int'} and 'int64_t' {aka 'long 
long int'} [-Wsign-compare]
   for (size_t i = 0; i < array->length(); i++, bitmap_reader.Next()) {
                      ~~^~~~~~~~~~~~~~~~~
/mingw64/bin/g++  -std=gnu++11 -I"C:/PROGRA~1/R/R-testing/include" -DNDEBUG 
-DARROW_STATIC -I"C:/R/library/Rcpp/include"        -O2 -Wall  -mtune=generic 
-c array__to_vector.cpp -o array__to_vector.o
array__to_vector.cpp: In member function 'virtual arrow::Status 
arrow::r::Converter_Boolean::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const':
array__to_vector.cpp:254:28: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
       for (size_t i = 0; i < n; i++, data_reader.Next(), null_reader.Next(), 
++p_data) {
                          ~~^~~
array__to_vector.cpp:258:28: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
       for (size_t i = 0; i < n; i++, data_reader.Next(), ++p_data) {
                          ~~^~~
array__to_vector.cpp: In member function 'virtual arrow::Status 
arrow::r::Converter_Decimal::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const':
array__to_vector.cpp:473:28: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
       for (size_t i = 0; i < n; i++, bitmap_reader.Next(), ++p_data) {
                          ~~^~~
array__to_vector.cpp:478:28: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
       for (size_t i = 0; i < n; i++, ++p_data) {
                          ~~^~~
array__to_vector.cpp: In member function 'virtual arrow::Status 
arrow::r::Converter_Int64::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const':
array__to_vector.cpp:515:28: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
       for (size_t i = 0; i < n; i++, bitmap_reader.Next(), ++p_data) {
                          ~~^~~
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = long long int; Lambda = 
arrow::r::Converter_Date64::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const::<lambda(int64_t)>; 
SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:366:77:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
     for (size_t i = 0; i < n; i++, bitmap_reader.Next(), ++p_data, ++p_values) 
{
                        ~~^~~
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = unsigned char; Lambda = 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::UInt8Type; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:341:47:   required from 'arrow::Status 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::UInt8Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:313:78:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = signed char; Lambda = 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::Int8Type; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:341:47:   required from 'arrow::Status 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::Int8Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:315:77:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = short unsigned int; Lambda = 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::UInt16Type; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:341:47:   required from 'arrow::Status 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::UInt16Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:317:79:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = short int; Lambda = 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::Int16Type; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:341:47:   required from 'arrow::Status 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::Int16Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:319:78:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = int; Lambda = 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::Int32Type; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:341:47:   required from 'arrow::Status 
arrow::r::Converter_Dictionary::Ingest_some_nulls_Impl(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with Type = 
arrow::Int32Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:321:78:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = long long int; Lambda = 
arrow::r::Converter_Time<value_type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with value_type = 
long long int; SEXP = SEXPREC*; R_xlen_t = long long int]::<lambda(long long 
int)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:421:48:   required from 'arrow::Status 
arrow::r::Converter_Time<value_type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with value_type = 
long long int; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:415:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = int; Lambda = 
arrow::r::Converter_Time<value_type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with value_type = 
int; SEXP = SEXPREC*; R_xlen_t = long long int]::<lambda(int)>; SEXP = 
SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:421:48:   required from 'arrow::Status 
arrow::r::Converter_Time<value_type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with value_type = 
int; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:415:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = float; Lambda = arrow::r::Converter_Promotion<RTYPE, 
Type>::Ingest_some_nulls(SEXP, const std::shared_ptr<arrow::Array>&, R_xlen_t, 
R_xlen_t) const [with int RTYPE = 14; Type = arrow::FloatType; SEXP = SEXPREC*; 
R_xlen_t = long long int]::<lambda(arrow::r::Converter_Promotion<14, 
arrow::FloatType>::value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:389:46:   required from 'arrow::Status 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 14; 
Type = arrow::FloatType; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:386:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = short unsigned int; Lambda = 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 14; 
Type = arrow::HalfFloatType; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(arrow::r::Converter_Promotion<14, 
arrow::HalfFloatType>::value_type)>; SEXP = SEXPREC*; R_xlen_t = long long 
int]':
array__to_vector.cpp:389:46:   required from 'arrow::Status 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 14; 
Type = arrow::HalfFloatType; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:386:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = unsigned int; Lambda = arrow::r::Converter_Promotion<RTYPE, 
Type>::Ingest_some_nulls(SEXP, const std::shared_ptr<arrow::Array>&, R_xlen_t, 
R_xlen_t) const [with int RTYPE = 14; Type = arrow::UInt32Type; SEXP = 
SEXPREC*; R_xlen_t = long long int]::<lambda(arrow::r::Converter_Promotion<14, 
arrow::UInt32Type>::value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:389:46:   required from 'arrow::Status 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 14; 
Type = arrow::UInt32Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:386:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = short unsigned int; Lambda = 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 13; 
Type = arrow::UInt16Type; SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(arrow::r::Converter_Promotion<13, 
arrow::UInt16Type>::value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:389:46:   required from 'arrow::Status 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 13; 
Type = arrow::UInt16Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:386:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = short int; Lambda = arrow::r::Converter_Promotion<RTYPE, 
Type>::Ingest_some_nulls(SEXP, const std::shared_ptr<arrow::Array>&, R_xlen_t, 
R_xlen_t) const [with int RTYPE = 13; Type = arrow::Int16Type; SEXP = SEXPREC*; 
R_xlen_t = long long int]::<lambda(arrow::r::Converter_Promotion<13, 
arrow::Int16Type>::value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:389:46:   required from 'arrow::Status 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 13; 
Type = arrow::Int16Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:386:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = unsigned char; Lambda = arrow::r::Converter_Promotion<RTYPE, 
Type>::Ingest_some_nulls(SEXP, const std::shared_ptr<arrow::Array>&, R_xlen_t, 
R_xlen_t) const [with int RTYPE = 13; Type = arrow::UInt8Type; SEXP = SEXPREC*; 
R_xlen_t = long long int]::<lambda(arrow::r::Converter_Promotion<13, 
arrow::UInt8Type>::value_type)>; SEXP = SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:389:46:   required from 'arrow::Status 
arrow::r::Converter_Promotion<RTYPE, Type>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 13; 
Type = arrow::UInt8Type; SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:386:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 14; 
array_value_type = double; Lambda = 
arrow::r::Converter_SimpleArray<RTYPE>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 14; 
SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(arrow::r::Converter_SimpleArray<14>::value_type)>; SEXP = 
SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:152:46:   required from 'arrow::Status 
arrow::r::Converter_SimpleArray<RTYPE>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 14; 
SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:148:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 24; 
array_value_type = unsigned char; Lambda = 
arrow::r::Converter_SimpleArray<RTYPE>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 24; 
SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(arrow::r::Converter_SimpleArray<24>::value_type)>; SEXP = 
SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:152:46:   required from 'arrow::Status 
arrow::r::Converter_SimpleArray<RTYPE>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 24; 
SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:148:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In instantiation of 'arrow::Status 
arrow::r::SomeNull_Ingest(SEXP, R_xlen_t, R_xlen_t, const array_value_type*, 
const std::shared_ptr<arrow::Array>&, Lambda) [with int RTYPE = 13; 
array_value_type = int; Lambda = 
arrow::r::Converter_SimpleArray<RTYPE>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 13; 
SEXP = SEXPREC*; R_xlen_t = long long 
int]::<lambda(arrow::r::Converter_SimpleArray<13>::value_type)>; SEXP = 
SEXPREC*; R_xlen_t = long long int]':
array__to_vector.cpp:152:46:   required from 'arrow::Status 
arrow::r::Converter_SimpleArray<RTYPE>::Ingest_some_nulls(SEXP, const 
std::shared_ptr<arrow::Array>&, R_xlen_t, R_xlen_t) const [with int RTYPE = 13; 
SEXP = SEXPREC*; R_xlen_t = long long int]'
array__to_vector.cpp:148:10:   required from here
array__to_vector.cpp:116:26: warning: comparison of integer expressions of 
different signedness: 'size_t' {aka 'long long unsigned int'} and 'R_xlen_t' 
{aka 'long long int'} [-Wsign-compare]
array__to_vector.cpp: In member function 'int 
arrow::r::Converter_Time<value_type>::TimeUnit_multiplier(const 
std::shared_ptr<arrow::Array>&) const [with value_type = long long int]':
array__to_vector.cpp:437:3: warning: control reaches end of non-void function 
[-Wreturn-type]
   }
   ^
array__to_vector.cpp: In member function 'int 
arrow::r::Converter_Time<value_type>::TimeUnit_multiplier(const 
std::shared_ptr<arrow::Array>&) const [with value_type = int]':
array__to_vector.cpp:437:3: warning: control reaches end of non-void function 
[-Wreturn-type]
/mingw64/bin/g++  -std=gnu++11 -I"C:/PROGRA~1/R/R-testing/include" -DNDEBUG 
-DARROW_STATIC -I"C:/R/library/Rcpp/include"        -O2 -Wall  -mtune=generic 
-c array_from_vector.cpp -o array_from_vector.o
array_from_vector.cpp: In instantiation of 'arrow::Status 
arrow::internal::int_cast(T, Target*) [with T = int; Target = long long 
unsigned int]':
array_from_vector.cpp:301:9:   required from 'static arrow::Status 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::IngestRange(arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType*, 
T*, R_xlen_t, T) [with T = int; Type = arrow::UInt64Type; arrow::r::Unbox<Type, 
typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::BuilderType = arrow::NumericBuilder<arrow::UInt64Type>; 
R_xlen_t = long long int]'
array_from_vector.cpp:277:32:   required from 'static arrow::Status 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::Ingest(arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType*, 
SEXP) [with Type = arrow::UInt64Type; arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType = 
arrow::NumericBuilder<arrow::UInt64Type>; SEXP = SEXPREC*]'
array_from_vector.cpp:542:64:   required from 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::UInt64Type; Derived = 
arrow::r::NumericVectorConverter<arrow::UInt64Type>; SEXP = SEXPREC*]'
array_from_vector.cpp:542:10:   required from here
array_from_vector.cpp:187:9: warning: comparison of integer expressions of 
different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
   if (x < std::numeric_limits<Target>::min() || x > 
std::numeric_limits<Target>::max()) {
       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
array_from_vector.cpp:187:51: warning: comparison of integer expressions of 
different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
   if (x < std::numeric_limits<Target>::min() || x > 
std::numeric_limits<Target>::max()) {
                                                 
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
array_from_vector.cpp: In instantiation of 'arrow::Status 
arrow::internal::int_cast(T, Target*) [with T = long long int; Target = long 
long unsigned int]':
array_from_vector.cpp:301:9:   required from 'static arrow::Status 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::IngestRange(arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType*, 
T*, R_xlen_t, T) [with T = long long int; Type = arrow::UInt64Type; 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::BuilderType = arrow::NumericBuilder<arrow::UInt64Type>; 
R_xlen_t = long long int]'
array_from_vector.cpp:280:38:   required from 'static arrow::Status 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::Ingest(arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType*, 
SEXP) [with Type = arrow::UInt64Type; arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType = 
arrow::NumericBuilder<arrow::UInt64Type>; SEXP = SEXPREC*]'
array_from_vector.cpp:542:64:   required from 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::UInt64Type; Derived = 
arrow::r::NumericVectorConverter<arrow::UInt64Type>; SEXP = SEXPREC*]'
array_from_vector.cpp:542:10:   required from here
array_from_vector.cpp:187:9: warning: comparison of integer expressions of 
different signedness: 'long long int' and 'long long unsigned int' 
[-Wsign-compare]
   if (x < std::numeric_limits<Target>::min() || x > 
std::numeric_limits<Target>::max()) {
       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
array_from_vector.cpp:187:51: warning: comparison of integer expressions of 
different signedness: 'long long int' and 'long long unsigned int' 
[-Wsign-compare]
   if (x < std::numeric_limits<Target>::min() || x > 
std::numeric_limits<Target>::max()) {
                                                 
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
array_from_vector.cpp: In instantiation of 'arrow::Status 
arrow::internal::int_cast(T, Target*) [with T = int; Target = unsigned int]':
array_from_vector.cpp:301:9:   required from 'static arrow::Status 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::IngestRange(arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType*, 
T*, R_xlen_t, T) [with T = int; Type = arrow::UInt32Type; arrow::r::Unbox<Type, 
typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::BuilderType = arrow::NumericBuilder<arrow::UInt32Type>; 
R_xlen_t = long long int]'
array_from_vector.cpp:277:32:   required from 'static arrow::Status 
arrow::r::Unbox<Type, typename std::enable_if<std::is_base_of<arrow::Integer, 
T>::value>::type>::Ingest(arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType*, 
SEXP) [with Type = arrow::UInt32Type; arrow::r::Unbox<Type, typename 
std::enable_if<std::is_base_of<arrow::Integer, T>::value>::type>::BuilderType = 
arrow::NumericBuilder<arrow::UInt32Type>; SEXP = SEXPREC*]'
array_from_vector.cpp:542:64:   required from 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::UInt32Type; Derived = 
arrow::r::NumericVectorConverter<arrow::UInt32Type>; SEXP = SEXPREC*]'
array_from_vector.cpp:542:10:   required from here
array_from_vector.cpp:187:9: warning: comparison of integer expressions of 
different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   if (x < std::numeric_limits<Target>::min() || x > 
std::numeric_limits<Target>::max()) {
       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
array_from_vector.cpp:187:51: warning: comparison of integer expressions of 
different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   if (x < std::numeric_limits<Target>::min() || x > 
std::numeric_limits<Target>::max()) {
                                                 
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
array_from_vector.cpp: In function 'int64_t 
arrow::r::get_time_multiplier(arrow::TimeUnit::type)':
array_from_vector.cpp:569:1: warning: control reaches end of non-void function 
[-Wreturn-type]
 }
 ^
array_from_vector.cpp: In member function 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::DoubleType; Derived = 
arrow::r::NumericVectorConverter<arrow::DoubleType>]':
array_from_vector.cpp:333:16: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
         double value;
                ^~~~~
array_from_vector.cpp: In member function 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::FloatType; Derived = 
arrow::r::NumericVectorConverter<arrow::FloatType>]':
array_from_vector.cpp:378:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
         float value;
               ^~~~~
array_from_vector.cpp:378:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
array_from_vector.cpp: In member function 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::Int8Type; Derived = arrow::r::NumericVectorConverter<arrow::Int8Type>]':
array_from_vector.cpp:300:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
         CType value;
               ^~~~~
array_from_vector.cpp:300:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
array_from_vector.cpp: In member function 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::Int32Type; Derived = 
arrow::r::NumericVectorConverter<arrow::Int32Type>]':
array_from_vector.cpp:300:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
array_from_vector.cpp: In member function 'arrow::Status 
arrow::r::TypedVectorConverter<Type, Derived>::Ingest(SEXP) [with Type = 
arrow::Int16Type; Derived = 
arrow::r::NumericVectorConverter<arrow::Int16Type>]':
array_from_vector.cpp:300:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
array_from_vector.cpp:300:15: warning: 'value' may be used uninitialized in 
this function [-Wmaybe-uninitialized]
{code}



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

Reply via email to