[ 
https://issues.apache.org/jira/browse/ARROW-4845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neal Richardson reassigned ARROW-4845:
--------------------------------------

    Assignee: Neal Richardson

> [R] Compiler warnings on Windows MingW64
> ----------------------------------------
>
>                 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
>            Assignee: Neal Richardson
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.14.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> 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