You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2018/01/18 23:11:00 UTC

[jira] [Created] (ARROW-2010) [C++] Compiler warnings with CHECKIN warning level in ORC adapter

Wes McKinney created ARROW-2010:
-----------------------------------

             Summary: [C++] Compiler warnings with CHECKIN warning level in ORC adapter
                 Key: ARROW-2010
                 URL: https://issues.apache.org/jira/browse/ARROW-2010
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Wes McKinney
             Fix For: 0.9.0


I am encountering this locally with clang 4.0 and BUILD_WARNING_LEVEL=CHECKIN. We should investigate why these aren't showing up in our CI builds

{code}
../src/arrow/adapters/orc/adapter.cc:138:38: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
      *out = fixed_size_binary(type->getMaximumLength());
             ~~~~~~~~~~~~~~~~~ ~~~~~~^~~~~~~~~~~~~~~~~~
../src/arrow/adapters/orc/adapter.cc:151:30: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
        *out = decimal(type->getPrecision(), type->getScale());
               ~~~~~~~ ~~~~~~^~~~~~~~~~~~~~
../src/arrow/adapters/orc/adapter.cc:151:52: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
        *out = decimal(type->getPrecision(), type->getScale());
               ~~~~~~~                       ~~~~~~^~~~~~~~~~
../src/arrow/adapters/orc/adapter.cc:176:24: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
      int size = type->getSubtypeCount();
          ~~~~   ~~~~~~^~~~~~~~~~~~~~~~~
../src/arrow/adapters/orc/adapter.cc:188:24: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
      int size = type->getSubtypeCount();
          ~~~~   ~~~~~~^~~~~~~~~~~~~~~~~
../src/arrow/adapters/orc/adapter.cc:262:21: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    int size = type.getSubtypeCount();
        ~~~~   ~~~~~^~~~~~~~~~~~~~~~~
../src/arrow/adapters/orc/adapter.cc:452:18: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    for (int i = offset; i < length + offset; i++) {
             ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:477:18: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    for (int i = offset; i < length + offset; i++) {
             ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:543:26: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    int start = builder->length();
        ~~~~~   ~~~~~~~~~^~~~~~~~
../src/arrow/adapters/orc/adapter.cc:572:26: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    int start = builder->length();
        ~~~~~   ~~~~~~~~~^~~~~~~~
../src/arrow/adapters/orc/adapter.cc:599:18: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    for (int i = offset; i < length + offset; i++) {
             ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:615:18: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    for (int i = offset; i < length + offset; i++) {
             ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:632:20: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
      for (int i = offset; i < length + offset; i++) {
               ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:642:20: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
      for (int i = offset; i < length + offset; i++) {
               ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:519:26: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    int start = builder->length();
        ~~~~~   ~~~~~~~~~^~~~~~~~
../src/arrow/adapters/orc/adapter.cc:389:16: note: in instantiation of function template specialization 'arrow::adapters::orc::ORCFileReader::Impl::AppendNumericBatchCast<arrow::NumericBuilder<arrow::Int32Type>, int, orc::LongVectorBatch, long>' requested here
        return AppendNumericBatchCast<Int32Builder, int32_t, liborc::LongVectorBatch,
               ^
../src/arrow/adapters/orc/adapter.cc:519:26: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    int start = builder->length();
        ~~~~~   ~~~~~~~~~^~~~~~~~
../src/arrow/adapters/orc/adapter.cc:392:16: note: in instantiation of function template specialization 'arrow::adapters::orc::ORCFileReader::Impl::AppendNumericBatchCast<arrow::NumericBuilder<arrow::Int16Type>, short, orc::LongVectorBatch, long>' requested here
        return AppendNumericBatchCast<Int16Builder, int16_t, liborc::LongVectorBatch,
               ^
../src/arrow/adapters/orc/adapter.cc:519:26: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    int start = builder->length();
        ~~~~~   ~~~~~~~~~^~~~~~~~
../src/arrow/adapters/orc/adapter.cc:395:16: note: in instantiation of function template specialization 'arrow::adapters::orc::ORCFileReader::Impl::AppendNumericBatchCast<arrow::NumericBuilder<arrow::Int8Type>, signed char, orc::LongVectorBatch, long>' requested here
        return AppendNumericBatchCast<Int8Builder, int8_t, liborc::LongVectorBatch,
               ^
../src/arrow/adapters/orc/adapter.cc:519:26: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    int start = builder->length();
        ~~~~~   ~~~~~~~~~^~~~~~~~
../src/arrow/adapters/orc/adapter.cc:401:16: note: in instantiation of function template specialization 'arrow::adapters::orc::ORCFileReader::Impl::AppendNumericBatchCast<arrow::NumericBuilder<arrow::FloatType>, float, orc::DoubleVectorBatch, double>' requested here
        return AppendNumericBatchCast<FloatBuilder, float, liborc::DoubleVectorBatch,
               ^
../src/arrow/adapters/orc/adapter.cc:599:18: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
    for (int i = offset; i < length + offset; i++) {
             ~   ^~~~~~
../src/arrow/adapters/orc/adapter.cc:407:16: note: in instantiation of function template specialization 'arrow::adapters::orc::ORCFileReader::Impl::AppendBinaryBatch<arrow::StringBuilder>' requested here
        return AppendBinaryBatch<StringBuilder>(batch, offset, length, builder);
               ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
{code}



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