Skip to content

[C++] shorten-64-to-32 warnings in CUDA/Skyhook codes #40882

@kou

Description

@kou

Describe the enhancement requested

There are some shorten-64-to-32 warnings in CUDA/Skyhook codes:

[816/1044] Building CXX object src/arrow/gpu/CMakeFiles/arrow_cuda_objlib.dir/cuda_memory.cc.o
FAILED: src/arrow/gpu/CMakeFiles/arrow_cuda_objlib.dir/cuda_memory.cc.o 
/bin/ccache /bin/clang++ -DARROW_EXPORTING -DARROW_EXTRA_ERROR_CONTEXT -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -I/home/kou/work/cpp/arrow.kou/cpp.build.asan/src -I/home/kou/work/cpp/arrow.kou/cpp/src -I/home/kou/work/cpp/arrow.kou/cpp/src/generated -isystem /home/kou/work/cpp/arrow.kou/cpp/thirdparty/flatbuffers/include -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -fsanitize=address -DADDRESS_SANITIZER -fsanitize-blacklist=/home/kou/work/cpp/arrow.kou/cpp/build-support/sanitizer-disallowed-entries.txt -g -Werror -O0 -ggdb -g3 -std=c++17 -fPIC -MD -MT src/arrow/gpu/CMakeFiles/arrow_cuda_objlib.dir/cuda_memory.cc.o -MF src/arrow/gpu/CMakeFiles/arrow_cuda_objlib.dir/cuda_memory.cc.o.d -o src/arrow/gpu/CMakeFiles/arrow_cuda_objlib.dir/cuda_memory.cc.o -c /home/kou/work/cpp/arrow.kou/cpp/src/arrow/gpu/cuda_memory.cc
/home/kou/work/cpp/arrow.kou/cpp/src/arrow/gpu/cuda_memory.cc:497:72: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
      ARROW_ASSIGN_OR_RAISE(auto device, arrow::cuda::CudaDevice::Make(device_id));
                                         ~~~~~                         ^~~~~~~~~
/home/kou/work/cpp/arrow.kou/cpp/src/arrow/result.h:477:35: note: expanded from macro 'ARROW_ASSIGN_OR_RAISE'
                             lhs, rexpr);
                                  ^~~~~
/home/kou/work/cpp/arrow.kou/cpp/src/arrow/result.h:448:25: note: expanded from macro 'ARROW_ASSIGN_OR_RAISE_IMPL'
  auto&& result_name = (rexpr);                                                          \
                        ^~~~~
/home/kou/work/cpp/arrow.kou/cpp/src/arrow/gpu/cuda_memory.cc:508:68: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
  ARROW_ASSIGN_OR_RAISE(auto device, arrow::cuda::CudaDevice::Make(device_id));
                                     ~~~~~                         ^~~~~~~~~
/home/kou/work/cpp/arrow.kou/cpp/src/arrow/result.h:477:35: note: expanded from macro 'ARROW_ASSIGN_OR_RAISE'
                             lhs, rexpr);
                                  ^~~~~
/home/kou/work/cpp/arrow.kou/cpp/src/arrow/result.h:448:25: note: expanded from macro 'ARROW_ASSIGN_OR_RAISE_IMPL'
  auto&& result_name = (rexpr);                                                          \
                        ^~~~~
2 errors generated.
[821/1044] Building CXX object src/skyhook/CMakeFiles/arrow_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o
FAILED: src/skyhook/CMakeFiles/arrow_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o 
/bin/ccache /bin/clang++ -DARROW_EXTRA_ERROR_CONTEXT -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/kou/work/cpp/arrow.kou/cpp.build.asan/src -I/home/kou/work/cpp/arrow.kou/cpp/src -I/home/kou/work/cpp/arrow.kou/cpp/src/generated -isystem /home/kou/work/cpp/arrow.kou/cpp/thirdparty/flatbuffers/include -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -fsanitize=address -DADDRESS_SANITIZER -fsanitize-blacklist=/home/kou/work/cpp/arrow.kou/cpp/build-support/sanitizer-disallowed-entries.txt -g -Werror -O0 -ggdb -g3 -std=c++17 -fPIC -MD -MT src/skyhook/CMakeFiles/arrow_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o -MF src/skyhook/CMakeFiles/arrow_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o.d -o src/skyhook/CMakeFiles/arrow_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o -c /home/kou/work/cpp/arrow.kou/cpp/src/skyhook/protocol/skyhook_protocol.cc
/home/kou/work/cpp/arrow.kou/cpp/src/skyhook/protocol/skyhook_protocol.cc:109:69: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  bl->append(reinterpret_cast<const char*>(buffer->data()), buffer->size());
      ~~~~~~                                                ~~~~~~~~^~~~~~
1 error generated.
[823/1044] Building CXX object src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/cls/cls_skyhook.cc.o
FAILED: src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/cls/cls_skyhook.cc.o 
/bin/ccache /bin/clang++ -DARROW_EXTRA_ERROR_CONTEXT -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/kou/work/cpp/arrow.kou/cpp.build.asan/src -I/home/kou/work/cpp/arrow.kou/cpp/src -I/home/kou/work/cpp/arrow.kou/cpp/src/generated -isystem /home/kou/work/cpp/arrow.kou/cpp/thirdparty/flatbuffers/include -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -fsanitize=address -DADDRESS_SANITIZER -fsanitize-blacklist=/home/kou/work/cpp/arrow.kou/cpp/build-support/sanitizer-disallowed-entries.txt -g -Werror -O0 -ggdb -g3 -std=c++17 -fPIC -MD -MT src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/cls/cls_skyhook.cc.o -MF src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/cls/cls_skyhook.cc.o.d -o src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/cls/cls_skyhook.cc.o -c /home/kou/work/cpp/arrow.kou/cpp/src/skyhook/cls/cls_skyhook.cc
/home/kou/work/cpp/arrow.kou/cpp/src/skyhook/cls/cls_skyhook.cc:87:37: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
      cls_cxx_read(hctx_, position, nbytes, bl.get());
      ~~~~~~~~~~~~                  ^~~~~~
/home/kou/work/cpp/arrow.kou/cpp/src/skyhook/cls/cls_skyhook.cc:87:27: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
      cls_cxx_read(hctx_, position, nbytes, bl.get());
      ~~~~~~~~~~~~        ^~~~~~~~
2 errors generated.
[829/1044] Building CXX object src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o
FAILED: src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o 
/bin/ccache /bin/clang++ -DARROW_EXTRA_ERROR_CONTEXT -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/kou/work/cpp/arrow.kou/cpp.build.asan/src -I/home/kou/work/cpp/arrow.kou/cpp/src -I/home/kou/work/cpp/arrow.kou/cpp/src/generated -isystem /home/kou/work/cpp/arrow.kou/cpp/thirdparty/flatbuffers/include -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -fsanitize=address -DADDRESS_SANITIZER -fsanitize-blacklist=/home/kou/work/cpp/arrow.kou/cpp/build-support/sanitizer-disallowed-entries.txt -g -Werror -O0 -ggdb -g3 -std=c++17 -fPIC -MD -MT src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o -MF src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o.d -o src/skyhook/CMakeFiles/cls_skyhook_objlib.dir/protocol/skyhook_protocol.cc.o -c /home/kou/work/cpp/arrow.kou/cpp/src/skyhook/protocol/skyhook_protocol.cc
/home/kou/work/cpp/arrow.kou/cpp/src/skyhook/protocol/skyhook_protocol.cc:109:69: error: implicit conversion loses integer precision: 'int64_t' (aka 'long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  bl->append(reinterpret_cast<const char*>(buffer->data()), buffer->size());
      ~~~~~~                                                ~~~~~~~~^~~~~~
1 error generated.

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions