This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new cf7ab123a2 GH-44954: [C++][CI] Silence protobuf-generated deprecations 
(#44955)
cf7ab123a2 is described below

commit cf7ab123a280155425bec0c3e9c5b6ebed631e0d
Author: Antoine Pitrou <[email protected]>
AuthorDate: Sat Dec 7 07:33:38 2024 +0100

    GH-44954: [C++][CI] Silence protobuf-generated deprecations (#44955)
    
    
    
    ### Rationale for this change
    
    ### What changes are included in this PR?
    
    ### Are these changes tested?
    
    ### Are there any user-facing changes?
    
    * GitHub Issue: #44954
    
    Lead-authored-by: Antoine Pitrou <[email protected]>
    Co-authored-by: Jacob Wujciak-Jens <[email protected]>
    Co-authored-by: Antoine Pitrou <[email protected]>
    Signed-off-by: Sutou Kouhei <[email protected]>
---
 cpp/cmake_modules/ThirdpartyToolchain.cmake                 | 13 +++++++++----
 cpp/src/arrow/engine/substrait/expression_internal.h        |  4 ++++
 .../arrow/engine/substrait/extended_expression_internal.h   |  4 ++++
 cpp/src/arrow/engine/substrait/plan_internal.h              |  4 ++++
 cpp/src/arrow/engine/substrait/relation_internal.h          |  4 ++++
 cpp/src/arrow/engine/substrait/test_plan_builder.cc         |  6 +++++-
 cpp/src/arrow/engine/substrait/util_internal.h              |  4 ++++
 cpp/src/arrow/flight/sql/client.cc                          |  4 ++++
 cpp/src/arrow/flight/sql/protocol_internal.cc               |  5 +++++
 cpp/src/arrow/flight/sql/protocol_internal.h                |  3 +++
 cpp/src/arrow/flight/sql/server.cc                          |  7 +++++++
 11 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake 
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 35ad4089e7..a7d509de10 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2061,10 +2061,14 @@ macro(build_substrait)
 
     # Missing dll-interface:
     list(APPEND SUBSTRAIT_SUPPRESSED_FLAGS "/wd4251")
-  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID 
STREQUAL
-                                                        "Clang")
-    # Protobuf generated files trigger some errors on CLANG TSAN builds
-    list(APPEND SUBSTRAIT_SUPPRESSED_FLAGS "-Wno-error=shorten-64-to-32")
+  else()
+    # GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+    list(APPEND SUBSTRAIT_SUPPRESSED_FLAGS "-Wno-deprecated")
+    if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID 
STREQUAL
+                                                      "Clang")
+      # Protobuf generated files trigger some errors on CLANG TSAN builds
+      list(APPEND SUBSTRAIT_SUPPRESSED_FLAGS "-Wno-error=shorten-64-to-32")
+    endif()
   endif()
 
   set(SUBSTRAIT_SOURCES)
@@ -2116,6 +2120,7 @@ macro(build_substrait)
 
   add_library(substrait STATIC ${SUBSTRAIT_SOURCES})
   set_target_properties(substrait PROPERTIES POSITION_INDEPENDENT_CODE ON)
+  target_compile_options(substrait PRIVATE "${SUBSTRAIT_SUPPRESSED_FLAGS}")
   target_include_directories(substrait PUBLIC ${SUBSTRAIT_INCLUDES})
   target_link_libraries(substrait PUBLIC ${ARROW_PROTOBUF_LIBPROTOBUF})
   add_dependencies(substrait substrait_gen)
diff --git a/cpp/src/arrow/engine/substrait/expression_internal.h 
b/cpp/src/arrow/engine/substrait/expression_internal.h
index 2ce2ee76af..a9f8949c23 100644
--- a/cpp/src/arrow/engine/substrait/expression_internal.h
+++ b/cpp/src/arrow/engine/substrait/expression_internal.h
@@ -27,8 +27,12 @@
 #include "arrow/engine/substrait/type_fwd.h"
 #include "arrow/engine/substrait/visibility.h"
 #include "arrow/result.h"
+#include "arrow/util/macros.h"
 
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "substrait/algebra.pb.h"  // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 namespace arrow {
 namespace engine {
diff --git a/cpp/src/arrow/engine/substrait/extended_expression_internal.h 
b/cpp/src/arrow/engine/substrait/extended_expression_internal.h
index 81bc4b8745..45f89c8610 100644
--- a/cpp/src/arrow/engine/substrait/extended_expression_internal.h
+++ b/cpp/src/arrow/engine/substrait/extended_expression_internal.h
@@ -28,8 +28,12 @@
 #include "arrow/engine/substrait/visibility.h"
 #include "arrow/result.h"
 #include "arrow/status.h"
+#include "arrow/util/macros.h"
 
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "substrait/extended_expression.pb.h"  // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 namespace arrow {
 namespace engine {
diff --git a/cpp/src/arrow/engine/substrait/plan_internal.h 
b/cpp/src/arrow/engine/substrait/plan_internal.h
index 737e65b7e2..f2e7ded5f0 100644
--- a/cpp/src/arrow/engine/substrait/plan_internal.h
+++ b/cpp/src/arrow/engine/substrait/plan_internal.h
@@ -27,8 +27,12 @@
 #include "arrow/engine/substrait/visibility.h"
 #include "arrow/result.h"
 #include "arrow/status.h"
+#include "arrow/util/macros.h"
 
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "substrait/plan.pb.h"  // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 namespace arrow {
 namespace engine {
diff --git a/cpp/src/arrow/engine/substrait/relation_internal.h 
b/cpp/src/arrow/engine/substrait/relation_internal.h
index a436f1770d..2a96d0024e 100644
--- a/cpp/src/arrow/engine/substrait/relation_internal.h
+++ b/cpp/src/arrow/engine/substrait/relation_internal.h
@@ -28,8 +28,12 @@
 #include "arrow/engine/substrait/type_fwd.h"
 #include "arrow/engine/substrait/visibility.h"
 #include "arrow/result.h"
+#include "arrow/util/macros.h"
 
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "substrait/algebra.pb.h"  // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 namespace arrow {
 namespace engine {
diff --git a/cpp/src/arrow/engine/substrait/test_plan_builder.cc 
b/cpp/src/arrow/engine/substrait/test_plan_builder.cc
index f38f7ece9a..724c58277e 100644
--- a/cpp/src/arrow/engine/substrait/test_plan_builder.cc
+++ b/cpp/src/arrow/engine/substrait/test_plan_builder.cc
@@ -31,8 +31,12 @@
 #include "arrow/status.h"
 #include "arrow/table.h"
 #include "arrow/type_fwd.h"
+#include "arrow/util/macros.h"
 
-#include "substrait/algebra.pb.h"
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
+#include "substrait/algebra.pb.h"  // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 namespace arrow {
 namespace engine {
diff --git a/cpp/src/arrow/engine/substrait/util_internal.h 
b/cpp/src/arrow/engine/substrait/util_internal.h
index 627ad1126d..d812bbf7b8 100644
--- a/cpp/src/arrow/engine/substrait/util_internal.h
+++ b/cpp/src/arrow/engine/substrait/util_internal.h
@@ -24,10 +24,14 @@
 #include "arrow/engine/substrait/visibility.h"
 #include "arrow/result.h"
 #include "arrow/util/hashing.h"
+#include "arrow/util/macros.h"
 #include "arrow/util/unreachable.h"
 
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "substrait/algebra.pb.h"  // IWYU pragma: export
 #include "substrait/plan.pb.h"     // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 namespace arrow {
 namespace engine {
diff --git a/cpp/src/arrow/flight/sql/client.cc 
b/cpp/src/arrow/flight/sql/client.cc
index 536bc67fc5..fe087cc947 100644
--- a/cpp/src/arrow/flight/sql/client.cc
+++ b/cpp/src/arrow/flight/sql/client.cc
@@ -31,6 +31,7 @@
 #include "arrow/ipc/reader.h"
 #include "arrow/result.h"
 #include "arrow/util/logging.h"
+#include "arrow/util/macros.h"
 
 namespace flight_sql_pb = arrow::flight::protocol::sql;
 
@@ -829,6 +830,8 @@ Status FlightSqlClient::Rollback(const FlightCallOptions& 
options,
   return results->Drain();
 }
 
+// ActionCancelQuery{Request,Result} are deprecated
+ARROW_SUPPRESS_DEPRECATION_WARNING
 ::arrow::Result<CancelResult> FlightSqlClient::CancelQuery(
     const FlightCallOptions& options, const FlightInfo& info) {
   flight_sql_pb::ActionCancelQueryRequest cancel_query;
@@ -855,6 +858,7 @@ Status FlightSqlClient::Rollback(const FlightCallOptions& 
options,
   }
   return Status::IOError("Server returned unknown result ", result.result());
 }
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 Status FlightSqlClient::Close() { return impl_->Close(); }
 
diff --git a/cpp/src/arrow/flight/sql/protocol_internal.cc 
b/cpp/src/arrow/flight/sql/protocol_internal.cc
index 0d5e3c4c60..984e782223 100644
--- a/cpp/src/arrow/flight/sql/protocol_internal.cc
+++ b/cpp/src/arrow/flight/sql/protocol_internal.cc
@@ -14,6 +14,10 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 
+#include "arrow/util/macros.h"
+
+// GH-44954: silence [[deprecated]] declarations in protobuf-generated code
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "arrow/flight/sql/protocol_internal.h"
 
 // NOTE(lidavidm): Normally this is forbidden, but on Windows to get
@@ -21,3 +25,4 @@
 // ensure our header gets included (and Protobuf will not insert the
 // include for you)
 #include "arrow/flight/sql/FlightSql.pb.cc"  // NOLINT
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
diff --git a/cpp/src/arrow/flight/sql/protocol_internal.h 
b/cpp/src/arrow/flight/sql/protocol_internal.h
index ce50ad2f61..09bfe32582 100644
--- a/cpp/src/arrow/flight/sql/protocol_internal.h
+++ b/cpp/src/arrow/flight/sql/protocol_internal.h
@@ -18,9 +18,12 @@
 
 // This addresses platform-specific defines, e.g. on Windows
 #include "arrow/flight/platform.h"  // IWYU pragma: keep
+#include "arrow/util/macros.h"
 
 // This header holds the Flight SQL definitions.
 
 #include "arrow/flight/sql/visibility.h"
 
+ARROW_SUPPRESS_DEPRECATION_WARNING
 #include "arrow/flight/sql/FlightSql.pb.h"  // IWYU pragma: export
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
diff --git a/cpp/src/arrow/flight/sql/server.cc 
b/cpp/src/arrow/flight/sql/server.cc
index 5f6154a576..f68d884c62 100644
--- a/cpp/src/arrow/flight/sql/server.cc
+++ b/cpp/src/arrow/flight/sql/server.cc
@@ -31,6 +31,7 @@
 #include "arrow/flight/sql/sql_info_internal.h"
 #include "arrow/type.h"
 #include "arrow/util/checked_cast.h"
+#include "arrow/util/macros.h"
 
 #define PROPERTY_TO_OPTIONAL(COMMAND, PROPERTY) \
   COMMAND.has_##PROPERTY() ? std::make_optional(COMMAND.PROPERTY()) : 
std::nullopt
@@ -337,6 +338,8 @@ arrow::Result<ActionBeginTransactionRequest> 
ParseActionBeginTransactionRequest(
   return result;
 }
 
+// ActionCancelQueryRequest is deprecated
+ARROW_SUPPRESS_DEPRECATION_WARNING
 arrow::Result<ActionCancelQueryRequest> ParseActionCancelQueryRequest(
     const Action& action) {
   pb::sql::ActionCancelQueryRequest command;
@@ -346,6 +349,7 @@ arrow::Result<ActionCancelQueryRequest> 
ParseActionCancelQueryRequest(
   ARROW_ASSIGN_OR_RAISE(result.info, FlightInfo::Deserialize(command.info()));
   return result;
 }
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 arrow::Result<ActionCreatePreparedStatementRequest>
 ParseActionCreatePreparedStatementRequest(const Action& action) {
@@ -468,6 +472,8 @@ arrow::Result<Result> PackActionResult(const 
FlightEndpoint& endpoint) {
   return endpoint.SerializeToBuffer();
 }
 
+// ActionCancelQueryResult is deprecated
+ARROW_SUPPRESS_DEPRECATION_WARNING
 arrow::Result<Result> PackActionResult(CancelResult result) {
   pb::sql::ActionCancelQueryResult pb_result;
   switch (result) {
@@ -487,6 +493,7 @@ arrow::Result<Result> PackActionResult(CancelResult result) 
{
   }
   return PackActionResult(pb_result);
 }
+ARROW_UNSUPPRESS_DEPRECATION_WARNING
 
 arrow::Result<Result> PackActionResult(ActionCreatePreparedStatementResult 
result) {
   pb::sql::ActionCreatePreparedStatementResult pb_result;

Reply via email to