You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Mark Harris (JIRA)" <ji...@apache.org> on 2019/08/12 01:25:00 UTC

[jira] [Created] (ARROW-6205) ARROW_DEPRECATED warning when including io/interfaces.h from CUDA (.cu) source

Mark Harris created ARROW-6205:
----------------------------------

             Summary: ARROW_DEPRECATED warning when including io/interfaces.h from CUDA (.cu) source
                 Key: ARROW-6205
                 URL: https://issues.apache.org/jira/browse/ARROW-6205
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
    Affects Versions: 0.14.1
            Reporter: Mark Harris


When including arrow/io/interfaces.h from a .cu source file (compiled with nvcc, the CUDA compiler), we get warnings like the following:

{{[6/58] Building CUDA obje.../csv/csv_reader_impl.cu.}}
{{arrow/install/include/arrow/io/interfaces.h(195): warning: attribute does not apply to any entity}}

This example is from compiling [libcudf|[https://github.com/rapidsai/cudf].] libcudf installs these headers and includes them. This is a problem for libraries like libcudf which treat warnings as errors.

There is a simple fix (I will submit a PR): change this code in interfaces.h:


{{// TODO(kszucs): remove this after 0.13}}
{{#ifndef _MSC_VER}}
{{using WriteableFile ARROW_DEPRECATED("Use WritableFile") = WritableFile;}}
{{using ReadableFileInterface ARROW_DEPRECATED("Use RandomAccessFile") = RandomAccessFile;}}
{{#else}}{{// MSVC does not like using ARROW_DEPRECATED with using declarations}}{{using WriteableFile = WritableFile;}}
{{using ReadableFileInterface = RandomAccessFile;}}
{{#endif}}
 
Just change the ifndef to:
{{#if not defined(_MSC_VER) && not defined(__CUDACC__)}}
This fix should have no impact on other compilers.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)