1
0
mirror of https://github.com/eclipse/mosquitto.git synced 2025-10-14 02:48:40 +08:00

Fix C++ symbols being removed when compiled with link time optimisation.

Closes #3259. Thanks to Joachim Zobel.
This commit is contained in:
Roger A. Light
2025-05-01 10:55:52 +01:00
parent 0d8f163ea2
commit ed30f437f8
3 changed files with 20 additions and 9 deletions

View File

@@ -11,6 +11,11 @@ Broker:
per_listener_settings is set true and the bridge is carrying out topic
remapping. Closes #3261.
Client library:
- Fix C++ symbols being removed when compiled with link time optimisation.
Closes #3259.
2.0.21 - 2025-03-06
===================

View File

@@ -61,6 +61,12 @@ extern "C" {
# endif
#endif
#ifndef _MSC_VER
# define MOSQ_USED __attribute__((used))
#else
# define MOSQ_USED
#endif
#include <stddef.h>
#include <stdint.h>

View File

@@ -124,15 +124,15 @@ class mosqpp_EXPORT mosquittopp {
int socks5_set(const char *host, int port=1080, const char *username=NULL, const char *password=NULL);
// names in the functions commented to prevent unused parameter warning
virtual void on_connect(int /*rc*/) {return;}
virtual void on_connect_with_flags(int /*rc*/, int /*flags*/) {return;}
virtual void on_disconnect(int /*rc*/) {return;}
virtual void on_publish(int /*mid*/) {return;}
virtual void on_message(const struct mosquitto_message * /*message*/) {return;}
virtual void on_subscribe(int /*mid*/, int /*qos_count*/, const int * /*granted_qos*/) {return;}
virtual void on_unsubscribe(int /*mid*/) {return;}
virtual void on_log(int /*level*/, const char * /*str*/) {return;}
virtual void on_error() {return;}
virtual void MOSQ_USED on_connect(int /*rc*/) {return;}
virtual void MOSQ_USED on_connect_with_flags(int /*rc*/, int /*flags*/) {return;}
virtual void MOSQ_USED on_disconnect(int /*rc*/) {return;}
virtual void MOSQ_USED on_publish(int /*mid*/) {return;}
virtual void MOSQ_USED on_message(const struct mosquitto_message * /*message*/) {return;}
virtual void MOSQ_USED on_subscribe(int /*mid*/, int /*qos_count*/, const int * /*granted_qos*/) {return;}
virtual void MOSQ_USED on_unsubscribe(int /*mid*/) {return;}
virtual void MOSQ_USED on_log(int /*level*/, const char * /*str*/) {return;}
virtual void MOSQ_USED on_error() {return;}
};
}