From b1527216b61003e7e08027a3710fd5a731d747cd Mon Sep 17 00:00:00 2001 From: David Li Date: Thu, 27 Aug 2026 11:04:15 +0900 Subject: [PATCH 1/2] refactor(c/driver/framework): ignore -Wunused-template Closes #4726. --- c/driver/framework/status.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/c/driver/framework/status.h b/c/driver/framework/status.h index d42535e5ac..a4c8180d47 100644 --- a/c/driver/framework/status.h +++ b/c/driver/framework/status.h @@ -129,6 +129,8 @@ class Status { // Helpers to create statuses with known codes static Status Ok() { return Status(); } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-template" #define STATUS_CTOR(NAME, CODE) \ template \ static Status NAME(Args&&... args) { \ @@ -146,6 +148,7 @@ class Status { STATUS_CTOR(Unknown, UNKNOWN) #undef STATUS_CTOR +#pragma clang diagnostic pop private: /// \brief Private Status implementation details @@ -305,6 +308,8 @@ namespace adbc::driver::status { inline driver::Status Ok() { return driver::Status(); } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-template" #define STATUS_CTOR(NAME, CODE) \ template \ static Status NAME(Args&&... args) { \ @@ -323,12 +328,15 @@ STATUS_CTOR(NotImplemented, NOT_IMPLEMENTED) STATUS_CTOR(Unknown, UNKNOWN) #undef STATUS_CTOR +#pragma clang diagnostic pop } // namespace adbc::driver::status #if defined(ADBC_FRAMEWORK_USE_FMT) namespace adbc::driver::status::fmt { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-template" #define STATUS_CTOR(NAME, CODE) \ template \ static Status NAME(std::string_view format_string, Args&&... args) { \ @@ -346,6 +354,7 @@ STATUS_CTOR(NotImplemented, NOT_IMPLEMENTED) STATUS_CTOR(Unknown, UNKNOWN) #undef STATUS_CTOR +#pragma clang diagnostic pop } // namespace adbc::driver::status::fmt #endif From c355a11a96edd3b80ab9b4b66c8dbbfd0a396291 Mon Sep 17 00:00:00 2001 From: David Li Date: Thu, 27 Aug 2026 11:21:55 +0900 Subject: [PATCH 2/2] try this --- c/driver/framework/status.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/c/driver/framework/status.h b/c/driver/framework/status.h index a4c8180d47..cef81ac797 100644 --- a/c/driver/framework/status.h +++ b/c/driver/framework/status.h @@ -35,6 +35,11 @@ /// \file status.h +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-template" +#endif + namespace adbc::driver { /// \brief A wrapper around AdbcStatusCode + AdbcError. @@ -129,8 +134,6 @@ class Status { // Helpers to create statuses with known codes static Status Ok() { return Status(); } -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-template" #define STATUS_CTOR(NAME, CODE) \ template \ static Status NAME(Args&&... args) { \ @@ -148,7 +151,6 @@ class Status { STATUS_CTOR(Unknown, UNKNOWN) #undef STATUS_CTOR -#pragma clang diagnostic pop private: /// \brief Private Status implementation details @@ -308,8 +310,6 @@ namespace adbc::driver::status { inline driver::Status Ok() { return driver::Status(); } -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-template" #define STATUS_CTOR(NAME, CODE) \ template \ static Status NAME(Args&&... args) { \ @@ -328,15 +328,12 @@ STATUS_CTOR(NotImplemented, NOT_IMPLEMENTED) STATUS_CTOR(Unknown, UNKNOWN) #undef STATUS_CTOR -#pragma clang diagnostic pop } // namespace adbc::driver::status #if defined(ADBC_FRAMEWORK_USE_FMT) namespace adbc::driver::status::fmt { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-template" #define STATUS_CTOR(NAME, CODE) \ template \ static Status NAME(std::string_view format_string, Args&&... args) { \ @@ -354,7 +351,6 @@ STATUS_CTOR(NotImplemented, NOT_IMPLEMENTED) STATUS_CTOR(Unknown, UNKNOWN) #undef STATUS_CTOR -#pragma clang diagnostic pop } // namespace adbc::driver::status::fmt #endif @@ -384,3 +380,7 @@ STATUS_CTOR(Unknown, UNKNOWN) #define UNWRAP_NANOARROW(ERROR, CODE, RHS) \ UNWRAP_NANOARROW_IMPL(UNWRAP_RESULT_NAME(driver_errno_na, RESULT_NAME_SUFFIX), ERROR, \ CODE, RHS) + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif