Skip to content

[C++][FlightRPC][ODBC] Clang 20 compiles failed on macOS 26 #50756

Description

@HuaHuaY

Describe the bug, including details regarding any error messages, version, and platform.

There are four kinds of compile errors.

  1. Incorrect initialization way.
[build] cpp/src/arrow/flight/sql/odbc/odbc_impl/accessors/timestamp_array_accessor.cc:98:20: error: missing field 'tm_min' initializer [-Werror,-Wmissing-field-initializers]
[build]    98 |   tm timestamp = {0};
[build]       | 
  1. Used deprecated standard library APIs std::wstring_convert and std::codecvt_utf8.
[build] In file included from cpp/src/arrow/flight/sql/odbc/odbc_impl/encoding.cc:18:
[build] In file included from cpp/src/arrow/flight/sql/odbc/odbc_impl/encoding.h:23:
[build] /nix/store/4b6hc41dl32baac3vwy7xa29xzz14rzp-libcxx-20.1.8-dev/include/c++/v1/locale:3226:1: error: 'wstring_convert<std::codecvt_utf8<char16_t>, char16_t>' is deprecated [-Werror,-Wdeprecated-declarations]
[build]  3226 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) {
[build]       | ^
[build] cpp/src/arrow/flight/sql/odbc/odbc_impl/encoding.h:111:32: note: in instantiation of member function 'std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t>::to_bytes' requested here
[build]   111 |   auto byte_string = converter.to_bytes((CHAR_TYPE*)wcs_string,
[build]       |                                ^
[build] cpp/src/arrow/flight/sql/odbc/odbc_impl/encoding.h:126:14: note: in instantiation of function template specialization 'arrow::flight::sql::odbc::WcsToUtf8<char16_t>' requested here
[build]   126 |       return WcsToUtf8<char16_t>(wcs_string, length_in_code_units, result);
[build]       |              ^
[build] /nix/store/4b6hc41dl32baac3vwy7xa29xzz14rzp-libcxx-20.1.8-dev/include/c++/v1/locale:3083:28: note: 'wstring_convert<std::codecvt_utf8<char16_t>, char16_t>' has been explicitly marked deprecated here
[build]  3083 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert {
[build]       |                            ^
[build] /nix/store/4b6hc41dl32baac3vwy7xa29xzz14rzp-libcxx-20.1.8-dev/include/c++/v1/__config:725:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
[build]   725 | #    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
[build]       |                                         ^
[build] /nix/store/4b6hc41dl32baac3vwy7xa29xzz14rzp-libcxx-20.1.8-dev/include/c++/v1/__config:698:49: note: expanded from macro '_LIBCPP_DEPRECATED'
[build]   698 | #      define _LIBCPP_DEPRECATED __attribute__((__deprecated__))
[build]       |
  1. Implicit conversion loses integer precision.
[build] cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_descriptor.cc:489:49: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
[build]   489 |     int16_t concise_type = rsmd->GetConciseType(one_based_index);
[build]       |
  1. Unused private field.
[build] In file included from cpp/src/arrow/flight/sql/odbc/odbc_impl/flight_sql_connection.cc:18:
[build] cpp/src/arrow/flight/sql/odbc/odbc_impl/flight_sql_connection.h:50:15: error: private field 'odbc_version_' is not used [-Werror,-Wunused-private-field]
[build]    50 |   OdbcVersion odbc_version_;
[build]       |               ^
[build] 1 error generated.

Component(s)

C++, FlightRPC

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions