From cfa0830c77231fd3f59f76f8e67c2ad8ffb88494 Mon Sep 17 00:00:00 2001 From: Simon Shanks <59612559+sshanks-kx@users.noreply.github.com> Date: Mon, 23 Mar 2026 09:39:07 +0000 Subject: [PATCH 1/6] Disable warning 4710 for Windows builds --- src/kdbsolace.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kdbsolace.cpp b/src/kdbsolace.cpp index 7303c63..a76672d 100644 --- a/src/kdbsolace.cpp +++ b/src/kdbsolace.cpp @@ -2,6 +2,7 @@ #ifdef _WIN32 #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"q.lib") +#pragma warning(disable: 4710) #endif #include "socketpair.c" #include "solclient/solClient.h" From 0d6c33403be8ed09984125120e38fe1778616fd3 Mon Sep 17 00:00:00 2001 From: Simon Shanks <59612559+sshanks-kx@users.noreply.github.com> Date: Mon, 23 Mar 2026 09:47:07 +0000 Subject: [PATCH 2/6] Suppress compiler warnings for inline and padding Added pragma warning directives to suppress specific compiler warnings. --- src/kdbsolace.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kdbsolace.cpp b/src/kdbsolace.cpp index a76672d..67577fa 100644 --- a/src/kdbsolace.cpp +++ b/src/kdbsolace.cpp @@ -2,7 +2,8 @@ #ifdef _WIN32 #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"q.lib") -#pragma warning(disable: 4710) +#pragma warning(disable: 4710) /* specified function was marked for inline expansion, but the compiler didn't inline the function */ +#pragma warning(disable: 4820) /* bytes padding added after construct 'member_name' */ #endif #include "socketpair.c" #include "solclient/solClient.h" From 0163d94d65a431f489aadf58608113d4b8c2a6b2 Mon Sep 17 00:00:00 2001 From: Simon Shanks <59612559+sshanks-kx@users.noreply.github.com> Date: Mon, 23 Mar 2026 09:51:25 +0000 Subject: [PATCH 3/6] Fix pragma warning directive in kdbsolace.cpp --- src/kdbsolace.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kdbsolace.cpp b/src/kdbsolace.cpp index 67577fa..00f9888 100644 --- a/src/kdbsolace.cpp +++ b/src/kdbsolace.cpp @@ -3,6 +3,7 @@ #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"q.lib") #pragma warning(disable: 4710) /* specified function was marked for inline expansion, but the compiler didn't inline the function */ +#pragma warning(disable: 4711( /* function selected for inline expansion */ #pragma warning(disable: 4820) /* bytes padding added after construct 'member_name' */ #endif #include "socketpair.c" From 0ae2ed65e092b24679aefe0d0136c2ecb7e39fb9 Mon Sep 17 00:00:00 2001 From: Simon Shanks <59612559+sshanks-kx@users.noreply.github.com> Date: Mon, 23 Mar 2026 09:57:16 +0000 Subject: [PATCH 4/6] Suppress unused parameter warnings in callbacks --- src/kdbsolace.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/kdbsolace.cpp b/src/kdbsolace.cpp index 00f9888..ceec97c 100644 --- a/src/kdbsolace.cpp +++ b/src/kdbsolace.cpp @@ -110,6 +110,7 @@ bool storePartialWrite(char* data, int dataSize, int numWritten) static void socketWrittableCbFunc(solClient_opaqueContext_pt opaqueContext_p, solClient_fd_t fd, solClient_fdEvent_t events, void *user_p) { + (void)user_p; /* unused callback param */ if (!BLOCKED_PARTIAL_SEND_DATA.empty()) { int numWritten = send(SPAIR[1], BLOCKED_PARTIAL_SEND_DATA.c_str(), BLOCKED_PARTIAL_SEND_DATA.size(), 0); @@ -451,6 +452,8 @@ K kdbCallback(I d) /* The message receive callback function is mandatory for session creation. Gets called with msgs from direct subscriptions. */ solClient_rxMsgCallback_returnCode_t defaultSubCallback ( solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueMsg_pt msg_p, void *user_p ) { + (void)user_p; /* unused callback param */ + (void)opaqueSession_p; /* unused callback param */ KdbSolaceEvent msgAndSource; msgAndSource._type = DIRECT_MSG_EVENT; msgAndSource._event._directMsg=msg_p; @@ -461,6 +464,7 @@ solClient_rxMsgCallback_returnCode_t defaultSubCallback ( solClient_opaqueSessio solClient_rxMsgCallback_returnCode_t guaranteedSubCallback ( solClient_opaqueFlow_pt opaqueFlow_p, solClient_opaqueMsg_pt msg_p, void *user_p ) { + (void)user_p; /* unused callback param */ KdbSolaceEvent msgAndSource; msgAndSource._type = QUEUE_MSG_EVENT; msgAndSource._event._queueMsg._msg=msg_p; @@ -472,6 +476,7 @@ solClient_rxMsgCallback_returnCode_t guaranteedSubCallback ( solClient_opaqueFlo void flowEventCallback ( solClient_opaqueFlow_pt opaqueFlow_p, solClient_flow_eventCallbackInfo_pt eventInfo_p, void *user_p ) { + (void)user_p; /* unused callback param */ int destinationType = -1; const char* destinationName = ""; solClient_destination_t destination; @@ -536,6 +541,8 @@ void flowEventCallback ( solClient_opaqueFlow_pt opaqueFlow_p, solClient_flow_ev *****************************************************************************/ void eventCallback ( solClient_opaqueSession_pt opaqueSession_p, solClient_session_eventCallbackInfo_pt eventInfo_p, void *user_p ) { + (void)user_p; /* unused callback param */ + (void)opaqueSession_p; /* unused callback param */ if (!KDB_SESSION_EVENT_CALLBACK_FUNC.empty()) { // send details to kdb+ From d32bbf157b425fe61221b80313b99751b5974c60 Mon Sep 17 00:00:00 2001 From: Simon Shanks <59612559+sshanks-kx@users.noreply.github.com> Date: Mon, 23 Mar 2026 10:04:25 +0000 Subject: [PATCH 5/6] Handle unused parameters in K functions Added unused parameter handling in destroy_solace and version_solace functions. --- src/kdbsolace.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/kdbsolace.cpp b/src/kdbsolace.cpp index ceec97c..0e15da0 100644 --- a/src/kdbsolace.cpp +++ b/src/kdbsolace.cpp @@ -680,6 +680,7 @@ K init_solace(K options) K destroy_solace(K a) { + (void)a; /* unused parameter */ solClient_returnCode_t retCode = SOLCLIENT_OK; if (session_p != NULL) { @@ -704,6 +705,7 @@ K destroy_solace(K a) K version_solace(K unused) { + (void)unused; /* unused parameter */ solClient_version_info_pt version = NULL; solClient_version_get (&version); K keys = knk(3,ks((char*)"solVersion"),ks((char*)"solDate"),ks((char*)"solVariant")); From 7d3e106ff69fde7c9ad4924fd983bc1974ff51cf Mon Sep 17 00:00:00 2001 From: Simon Shanks <59612559+sshanks-kx@users.noreply.github.com> Date: Mon, 23 Mar 2026 10:14:04 +0000 Subject: [PATCH 6/6] Fix pragma warning disable syntax in kdbsolace.cpp --- src/kdbsolace.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kdbsolace.cpp b/src/kdbsolace.cpp index 0e15da0..29aa44b 100644 --- a/src/kdbsolace.cpp +++ b/src/kdbsolace.cpp @@ -3,7 +3,7 @@ #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"q.lib") #pragma warning(disable: 4710) /* specified function was marked for inline expansion, but the compiler didn't inline the function */ -#pragma warning(disable: 4711( /* function selected for inline expansion */ +#pragma warning(disable: 4711) /* function selected for inline expansion */ #pragma warning(disable: 4820) /* bytes padding added after construct 'member_name' */ #endif #include "socketpair.c"